# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/fidl/fidl.gni")
import("//build/package.gni")

fidl("skottie_loader") {
  name = "fuchsia.skia.skottie"
  sdk_category = "partner"

  sources = [
    "skottie_loader.fidl",
  ]

  public_deps = [
    "//zircon/public/fidl/fuchsia-mem",
  ]
}

executable("skottie_viewer") {
  output_name = "skottie_viewer"

  sources = [
    "main.cc",
    "view.cc",
    "view.h",
  ]

  deps = [
    ":skottie_loader",
    "//garnet/public/fidl/fuchsia.ui.app",
    "//garnet/public/fidl/fuchsia.ui.viewsv1",
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fidl/cpp",

    # TODO(SCN-1193): Remove fostr dependency.
    "//garnet/public/lib/fostr/fidl/fuchsia.ui.scenic",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/ui/base_view/cpp",
    "//garnet/public/lib/ui/scenic/cpp",
    "//third_party/skia/modules/skottie",
    "//topaz/examples/ui/lib:skia_view",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/trace-provider",
  ]
}

package("package") {
  deprecated_system_image = true
  package_name = "skottie_viewer"

  deps = [
    ":skottie_viewer",
  ]

  binaries = [
    {
      name = "skottie_viewer"
    },
  ]
}
