blob: 175fb8d79279d4d11df915f1e3aab96121cddbd5 [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("//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",
"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/public/lib/fbl",
"//zircon/system/ulib/async-loop:async-loop-default",
]
public_deps = [
"//sdk/fidl/fuchsia.camera2.hal",
"//sdk/fidl/fuchsia.camera3",
"//sdk/fidl/fuchsia.sysmem",
"//sdk/fidl/fuchsia.ui.policy",
"//sdk/lib/fidl/cpp",
"//sdk/lib/fit-promise",
"//sdk/lib/sys/cpp",
"//sdk/lib/sys/inspect/cpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/trace",
]
defines = [ camera_debug_define ]
}
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:trace-provider-with-fdio",
]
defines = [ camera_debug_define ]
}
fuchsia_package_with_single_component("camera_device") {
manifest = "meta/camera_device.cmx"
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",
"//sdk/fidl/fuchsia.camera3",
"//sdk/fidl/fuchsia.sysmem",
"//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.cmx"
deps = [ ":camera_device_unittest_bin" ]
}