# 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

executable("yuv_to_image_pipe") {
  output_name = "yuv_to_image_pipe"

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

  deps = [
    "//garnet/lib/ui/yuv",
    "//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.ui.scenic",
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/images/cpp",
    "//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",
  ]
}
