| # 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. |
| |
| import("//build/components.gni") |
| import("//build/info/info.gni") |
| import("//build/testing/cc_test_executable.gni") |
| import("//src/camera/debug.gni") |
| |
| group("device") { |
| deps = [ ":camera_device" ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ ":camera_device_unittest" ] |
| } |
| |
| source_set("lib") { |
| sources = [ |
| "device_impl.cc", |
| "device_impl.h", |
| "device_impl_client.cc", |
| "metrics_reporter.cc", |
| "metrics_reporter.h", |
| "size_util.cc", |
| "size_util.h", |
| "stream_impl.cc", |
| "stream_impl.h", |
| "stream_impl_client.cc", |
| "sysmem_allocator.cc", |
| "sysmem_allocator.h", |
| "util.h", |
| ] |
| |
| deps = [ |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/hanging_get_helper", |
| "//src/lib/fsl", |
| "//zircon/system/ulib/fbl", |
| ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.camera2.hal:fuchsia.camera2.hal_hlcpp", |
| "//sdk/fidl/fuchsia.camera3:fuchsia.camera3_hlcpp", |
| "//sdk/fidl/fuchsia.hardware.camera:fuchsia.hardware.camera_cpp", |
| "//sdk/fidl/fuchsia.hardware.camera:fuchsia.hardware.camera_hlcpp", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_cpp_hlcpp_conversion", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_hlcpp", |
| "//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2_cpp_hlcpp_conversion", |
| "//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2_hlcpp", |
| "//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy_hlcpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/fidl/hlcpp", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/inspect/component/cpp", |
| "//sdk/lib/sys/cpp", |
| "//src/camera/lib/cobalt_logger", |
| "//zircon/system/ulib/sysmem-version", |
| "//zircon/system/ulib/trace", |
| ] |
| |
| defines = [ camera_debug_define ] |
| |
| if (build_info_product == "terminal") { |
| defines += [ "CAMERA_QUIRK_ADD_CONFIG_CHANGE_DELAY=1" ] |
| } |
| } |
| |
| executable("camera_device_bin") { |
| sources = [ "main.cc" ] |
| |
| deps = [ |
| ":lib", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/syslog/cpp", |
| "//zircon/system/ulib/trace-provider", |
| ] |
| |
| defines = [ camera_debug_define ] |
| } |
| |
| fuchsia_package_with_single_component("camera_device") { |
| manifest = "meta/camera_device.cml" |
| deps = [ ":camera_device_bin" ] |
| } |
| |
| cc_test_executable("camera_device_unittest_bin") { |
| testonly = true |
| sources = [ |
| "device_impl_unittest.cc", |
| "metrics_reporter_unittest.cc", |
| "sysmem_allocator_unittest.cc", |
| "util_unittest.cc", |
| ] |
| deps = [ |
| ":lib", |
| "testing", |
| "//sdk/fidl/fuchsia.camera2.hal:fuchsia.camera2.hal_hlcpp", |
| "//sdk/fidl/fuchsia.camera3:fuchsia.camera3_hlcpp", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_hlcpp", |
| "//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2_hlcpp", |
| "//sdk/lib/inspect/testing/cpp", |
| "//sdk/lib/sys/cpp", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//src/camera/lib/fake_controller", |
| "//src/lib/fsl", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| "//third_party/googletest:gmock", |
| ] |
| |
| # Increase the default stack size from 256 KB because creating the configs can take up a very |
| # large amount of stack and would otherwise cause crashes on ASAN builds. |
| ldflags = [ "-Wl,-z,stack-size=0x100000" ] |
| } |
| |
| fuchsia_unittest_package("camera_device_unittest") { |
| manifest = "meta/camera_device_unittest.cml" |
| deps = [ ":camera_device_unittest_bin" ] |
| test_type = "system" |
| } |