blob: b183f2eae51b5eee763fa2d950c1c904f6a4530f [file] [log] [blame]
# 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("//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/syslog/cpp",
"//src/camera/lib/hanging_get_helper",
"//src/lib/fsl",
"//zircon/system/ulib/async-loop:async-loop-default",
"//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_hlcpp",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_hlcpp",
"//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy_hlcpp",
"//sdk/lib/fidl/cpp",
"//sdk/lib/fit-promise",
"//sdk/lib/inspect/component/cpp",
"//sdk/lib/sys/cpp",
"//src/camera/lib/cobalt_logger",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//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/syslog/cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//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" ]
}
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/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"
}