1# Copyright (c) 2021-2024 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("//build/ohos.gni")
15import("//build/ohos_var.gni")
16import(
17    "//foundation/distributedhardware/distributed_camera/distributedcamera.gni")
18
19ohos_shared_library("distributed_camera_client") {
20  branch_protector_ret = "pac_ret"
21  sanitize = {
22    cfi = true
23    cfi_cross_dso = true
24    debug = false
25    boundary_sanitize = true
26    integer_overflow = true
27    ubsan = true
28  }
29  stack_protector_ret = true
30
31  include_dirs = [
32    "include",
33    "include/callback",
34    "include/listener",
35    "${common_path}/include/constants",
36    "${common_path}/include/utils",
37    "${services_path}/cameraservice/base/include",
38    "${feeding_smoother_path}/base",
39    "${feeding_smoother_path}/derived",
40    "${feeding_smoother_path}/utils",
41  ]
42
43  sources = [
44    "src/callback/dcamera_input_callback.cpp",
45    "src/callback/dcamera_manager_callback.cpp",
46    "src/callback/dcamera_photo_callback.cpp",
47    "src/callback/dcamera_preview_callback.cpp",
48    "src/callback/dcamera_session_callback.cpp",
49    "src/callback/dcamera_video_callback.cpp",
50    "src/listener/dcamera_photo_surface_listener.cpp",
51  ]
52
53  sources += [ "src/dcamera_client.cpp" ]
54
55  deps = [ "${common_path}:distributed_camera_utils" ]
56
57  defines = [
58    "HI_LOG_ENABLE",
59    "DH_LOG_TAG=\"dcameraclient\"",
60    "LOG_DOMAIN=0xD004150",
61  ]
62
63  if (build_variant == "root") {
64    defines += [ "DUMP_DCAMERA_FILE" ]
65  }
66
67  external_deps = [
68    "cJSON:cjson",
69    "c_utils:utils",
70    "camera_framework:camera_framework",
71    "drivers_interface_camera:libcamera_proxy_1.0",
72    "drivers_interface_camera:metadata",
73    "drivers_interface_distributed_camera:libdistributed_camera_provider_proxy_1.1",
74    "drivers_peripheral_display:hdi_gralloc_client",
75    "graphic_surface:surface",
76    "hilog:libhilog",
77    "ipc:ipc_core",
78    "safwk:system_ability_fwk",
79    "samgr:samgr_proxy",
80  ]
81
82  subsystem_name = "distributedhardware"
83
84  part_name = "distributed_camera"
85}
86