# 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.
# this has to match the binary name in examples/ui/Build.gn

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

executable("video_display_bin") {
  output_name = "video_display"

  sources = [
    "main.cpp",
    "simple_camera_view.cpp",
    "simple_camera_view.h",
  ]

  deps = [
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/ui/base_view/cpp",
    "//garnet/public/lib/ui/scenic/cpp",
    "//sdk/fidl/fuchsia.simplecamera",
    "//sdk/fidl/fuchsia.ui.scenic",
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/media/cpp",
    "//src/ui/lib/glm_workaround",
    "//zircon/public/lib/async-cpp",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/fzl",
    "//zircon/public/lib/trace-provider-with-fdio",
  ]

  include_dirs = [ "//lib" ]
}

package("video_display") {
  deps = [
    ":video_display_bin",
  ]

  binary = "video_display"

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