1# Copyright (c) 2021-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("//build/test.gni")
15import("./../../../../../multimedia_camera_framework.gni")
16
17module_output_path = "camera_framework/camera_framework_moduletest"
18
19ohos_moduletest("camera_framework_moduletest") {
20  module_out_path = module_output_path
21  include_dirs = [
22    "./include",
23    "${graphic_surface_path}/surface/include",
24    "${graphic_surface_path}/surface/include",
25    "${multimedia_camera_framework_path}/services/camera_service/include",
26    "${multimedia_camera_framework_path}/services/camera_service/include/avcodec",
27    "${multimedia_camera_framework_path}/services/camera_service/include/avcodec/common",
28    "${multimedia_camera_framework_path}/services/camera_service/binder/base/include",
29    "${multimedia_camera_framework_path}/services/camera_service/binder/client/include",
30    "${multimedia_camera_framework_path}/services/camera_service/binder/server/include",
31    "${multimedia_camera_framework_path}/interfaces/inner_api/native/camera/include",
32    "${multimedia_camera_framework_path}/interfaces/inner_api/native/test",
33    "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/task_manager",
34    "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/task_manager/task_group",
35    "${base_security_path}/interfaces/innerkits/accesstoken/include",
36    "${base_security_path}/interfaces/innerkits/token_setproc/include",
37    "${multimedia_media_library_path}/interfaces/kits/c",
38  ]
39
40  sources = [
41    "${multimedia_camera_framework_path}/interfaces/inner_api/native/test/test_common.cpp",
42    "src/camera_framework_moduletest.cpp",
43  ]
44
45  deps = [
46    "${multimedia_camera_framework_path}/frameworks/native/camera:camera_framework",
47    "${multimedia_camera_framework_path}/services/camera_service:camera_service",
48    "//drivers/interface/camera/v1_0:libcamera_proxy_1.0",
49  ]
50
51  external_deps = [
52    "ability_base:want",
53    "access_token:libaccesstoken_sdk",
54    "access_token:libnativetoken",
55    "access_token:libprivacy_sdk",
56    "access_token:libtoken_setproc",
57    "audio_framework:audio_capturer",
58    "audio_framework:audio_client",
59    "av_codec:av_codec_client",
60    "c_utils:utils",
61    "data_share:datashare_common",
62    "data_share:datashare_consumer",
63    "drivers_interface_camera:libbuffer_handle_sequenceable_1.0",
64    "drivers_interface_camera:libcamera_proxy_1.0",
65    "drivers_interface_camera:libcamera_proxy_1.1",
66    "drivers_interface_camera:libmap_data_sequenceable_1.0",
67    "drivers_interface_camera:metadata",
68    "drivers_peripheral_display:hdi_gralloc_client",
69    "graphic_surface:surface",
70    "hdf_core:libhdi",
71    "hilog:libhilog",
72    "hisysevent:libhisysevent",
73    "hitrace:hitrace_meter",
74    "init:libbegetutil",
75    "ipc:ipc_core",
76    "media_foundation:media_foundation",
77    "media_foundation:native_media_core",
78    "media_library:media_library",
79    "media_library:media_library_manager",
80    "safwk:system_ability_fwk",
81    "samgr:samgr_proxy",
82    "window_manager:libdm",
83  ]
84
85  defines = [ "private=public" ]
86  if (use_sensor) {
87    external_deps += [ "sensor:sensor_interface_native" ]
88    defines += [ "CAMERA_USE_SENSOR" ]
89  }
90
91  include_dirs += [
92    "${driver_peripheral_path}/interfaces/include",
93    "${driver_peripheral_path}/interfaces/hdi_ipc",
94    "${driver_peripheral_path}/interfaces/hdi_ipc/utils/include",
95    "${driver_peripheral_path}/interfaces/hdi_ipc/server/include",
96    "${driver_peripheral_path}/interfaces/hdi_ipc/callback/device/include",
97    "${driver_peripheral_path}/interfaces/hdi_ipc/callback/operator/include",
98    "${driver_peripheral_path}/interfaces/hdi_ipc/callback/host/include",
99  ]
100
101  cflags = [ "-fPIC" ]
102  cflags_cc = cflags
103  sanitize = {
104    cfi = false
105    cfi_cross_dso = false
106    debug = false
107    blocklist = "../../../../../cfi_blocklist.txt"
108  }
109}
110