# Copyright 2020 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("virtual_camera") {
  public_deps = [ ":lib" ]
}

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

  sources = [
    "virtual_camera_impl.cc",
    "virtual_camera_impl.h",
  ]

  public = [ "virtual_camera.h" ]

  deps = [
    "//sdk/lib/syslog/cpp",
    "//src/camera/lib/fake_camera",
    "//src/camera/lib/fake_stream",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/fzl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.camera3",
    "//sdk/fidl/fuchsia.sysmem",
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/sys/cpp",
    "//zircon/public/lib/fit",
  ]

  # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}
