# Copyright 2015 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/package.gni")

executable("bin") {
  output_name = "noodles"

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

  deps = [
    "$garnet_sdk_fidl/fuchsia.ui.app",
    "$garnet_sdk_fidl/fuchsia.ui.scenic",
    "$garnet_sdk_fidl/fuchsia.ui.viewsv1",
    "//garnet/public/lib/fidl/cpp",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//garnet/public/lib/ui/base_view/cpp",
    "//third_party/skia",
    "//topaz/examples/ui/lib:skia_view",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/trace-provider",
  ]
}

package("noodles") {
  deps = [
    ":bin",
  ]

  binary = "noodles"

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