| # Copyright 2021 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. |
| |
| import("//build/components.gni") |
| import("//build/fidl/fidl.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":stream_storage_unittest", |
| ":virtual_camera_agent_unittest", |
| ] |
| } |
| |
| fidl("fuchsia.camera.test.virtualcamera") { |
| sdk_category = "internal" |
| sources = [ "virtual_camera.fidl" ] |
| enable_hlcpp = true |
| } |
| |
| source_set("virtual_camera_hal_controller") { |
| sources = [ |
| "virtual_camera_hal_controller.cc", |
| "virtual_camera_hal_controller.h", |
| ] |
| public_deps = [ |
| ":stream_storage", |
| "//sdk/fidl/fuchsia.camera2.hal:fuchsia.camera2.hal_hlcpp", |
| "//sdk/lib/fidl/cpp", |
| ] |
| deps = [ "//sdk/lib/syslog/cpp" ] |
| } |
| |
| source_set("stream_storage") { |
| sources = [ |
| "stream_storage.cc", |
| "stream_storage.h", |
| ] |
| public_deps = [ |
| "//sdk/fidl/fuchsia.camera2.hal:fuchsia.camera2.hal_hlcpp", |
| "//zircon/system/ulib/fbl", |
| ] |
| } |
| |
| source_set("virtual_camera_agent") { |
| sources = [ |
| "virtual_camera_agent.cc", |
| "virtual_camera_agent.h", |
| ] |
| deps = [ |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/stream_utils:stream_configs", |
| ] |
| public_deps = [ |
| ":fuchsia.camera.test.virtualcamera_hlcpp", |
| ":stream_storage", |
| ":virtual_camera_hal_controller", |
| "//sdk/fidl/fuchsia.hardware.camera:fuchsia.hardware.camera_hlcpp", |
| "//sdk/lib/sys/cpp", |
| "//src/camera/bin/device_watcher:fuchsia.camera.test_hlcpp", |
| ] |
| } |
| |
| executable("virtual_camera_bin") { |
| output_name = "virtual_camera" |
| sources = [ "main.cc" ] |
| deps = [ |
| ":stream_storage", |
| ":virtual_camera_agent", |
| "//sdk/lib/sys/cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| ] |
| } |
| |
| fuchsia_component("virtual_camera_component") { |
| deps = [ ":virtual_camera_bin" ] |
| component_name = "virtual_camera" |
| manifest = "meta/virtual_camera.cml" |
| } |
| |
| fuchsia_package("virtual_camera_pkg") { |
| deps = [ ":virtual_camera_component" ] |
| package_name = "virtual_camera" |
| } |
| |
| executable("virtual_camera_agent_unittest_bin") { |
| testonly = true |
| sources = [ "virtual_camera_agent_unittest.cc" ] |
| deps = [ |
| ":virtual_camera_agent", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/stream_utils:stream_configs", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| "//third_party/googletest:gmock", |
| ] |
| } |
| |
| fuchsia_unittest_package("virtual_camera_agent_unittest") { |
| manifest = "meta/virtual_camera_agent_unittest.cml" |
| deps = [ ":virtual_camera_agent_unittest_bin" ] |
| } |
| |
| executable("stream_storage_unittest_bin") { |
| testonly = true |
| sources = [ "stream_storage_unittest.cc" ] |
| deps = [ |
| ":stream_storage", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//src/camera/lib/stream_utils:stream_configs", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| "//third_party/googletest:gmock", |
| ] |
| } |
| |
| fuchsia_unittest_package("stream_storage_unittest") { |
| manifest = "meta/stream_storage_unittest.cml" |
| deps = [ ":stream_storage_unittest_bin" ] |
| } |