1# Copyright (c) 2022 - 2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("../../../camera.gni")
15import("../camera_usb.gni")
16
17if (!defined(ohos_lite)) {
18  import("//build/ohos.gni")
19
20  config("usb_camera_metadata_manager_config") {
21    visibility = [ ":*" ]
22    cflags = [
23      "-DGST_DISABLE_DEPRECATED",
24      "-DHAVE_CONFIG_H",
25    ]
26
27    if (enable_camera_device_utest) {
28      cflags += [
29        "-fprofile-arcs",
30        "-ftest-coverage",
31      ]
32
33      ldflags += [ "--coverage" ]
34    }
35  }
36
37  ohos_shared_library("usb_camera_metadata_manager") {
38    defines = []
39    if (drivers_peripheral_camera_feature_usb) {
40      defines += [ "CAMERA_BUILT_ON_USB" ]
41    }
42    sources = [
43      "$camera_path_vdi/dump/src/camera_dump.cpp",
44      "$camera_path_vdi/metadata_manager/src/metadata_config.cpp",
45      "$camera_path_vdi/metadata_manager/src/metadata_controller.cpp",
46    ]
47    include_dirs = [
48      "$camera_path_vdi/../../interfaces/include",
49      "$camera_path_vdi/include",
50      "$camera_path_vdi/device_manager/include",
51      "$camera_path_vdi/metadata_manager/include",
52      "$camera_path_vdi/dump/include",
53      "$camera_path_vdi/../interfaces",
54    ]
55
56    deps = [ "$camera_path_usb/device_manager:usb_camera_device_manager" ]
57
58    external_deps = [
59      "bounds_checking_function:libsec_shared",
60      "drivers_interface_camera:libbuffer_producer_sequenceable_1.0",
61      "drivers_interface_camera:metadata",
62      "graphic_surface:surface",
63      "hdf_core:libhdf_host",
64      "hdf_core:libhdf_ipc_adapter",
65      "hdf_core:libhdf_utils",
66      "hdf_core:libhdi",
67      "hilog:libhilog",
68      "ipc:ipc_single",
69    ]
70    if (use_hitrace) {
71      external_deps += [ "hitrace:hitrace_meter" ]
72    }
73
74    public_configs = [ ":usb_camera_metadata_manager_config" ]
75    install_images = [ chipset_base_dir ]
76    subsystem_name = "hdf"
77    part_name = "drivers_peripheral_camera"
78  }
79}
80