# 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 = [
    "controller_stream_provider.cc",
    "isp_stream_provider.cc",
    "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",
    "//sdk/lib/sys/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",
    "//zircon/system/fidl/fuchsia-hardware-camera",
  ]

  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",
  ]
}
