# 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_sdk_fidl/fuchsia.ui.app",
    "$garnet_sdk_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") {
  package_name = "skottie_viewer"

  deps = [
    ":skottie_viewer",
  ]

  binary = "skottie_viewer"

  meta = [
    {
      path = rebase_path("meta/skottie_viewer.cmx")
      dest = "skottie_viewer.cmx"
    },
  ]
}
