# Copyright 2019 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.

group("stream_provider") {
  public_deps = [
    ":stream_provider_lib",
  ]
  public_configs = [
    ":stream_provider_config",
  ]
}

source_set("stream_provider_lib") {
  visibility = [ ":*" ]

  sources = [
    "stream_provider.cc",
    "isp_stream_provider.cc",
  ]

  deps = [
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/ui/base_view/cpp",
    "//garnet/public/lib/ui/scenic/cpp",
    "//sdk/fidl/fuchsia.camera2.hal",
    "//sdk/fidl/fuchsia.ui.gfx",
    "//sdk/lib/fidl/cpp",
    "//src/lib/fxl",
    "//src/lib/ui/scenic/cpp",
    "//src/ui/lib/glm_workaround",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/system/fidl/fuchsia-camera-common",
    "//zircon/system/fidl/fuchsia-camera-test",
  ]

  configs += [
    ":stream_provider_config",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.camera2",
    "//zircon/system/fidl/fuchsia-sysmem",
  ]
}

config("stream_provider_config") {
  visibility = [ ":*" ]

  include_dirs = [
    "//src/camera/examples/demo/stream_provider/include",
  ]
}
