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    "access_token:libaccesstoken_sdk",
53    "access_token:libnativetoken",
54    "access_token:libprivacy_sdk",
55    "access_token:libtoken_setproc",
56    "audio_framework:audio_capturer",
57    "audio_framework:audio_client",
58    "av_codec:av_codec_client",
59    "c_utils:utils",
60    "data_share:datashare_common",
61    "data_share:datashare_consumer",
62    "drivers_interface_camera:libcamera_proxy_1.0",
63    "drivers_interface_camera:libcamera_proxy_1.1",
64    "drivers_interface_camera:metadata",
65    "drivers_peripheral_display:hdi_gralloc_client",
66    "graphic_surface:surface",
67    "hdf_core:libhdi",
68    "hilog:libhilog",
69    "hisysevent:libhisysevent",
70    "hitrace:hitrace_meter",
71    "init:libbegetutil",
72    "ipc:ipc_core",
73    "media_foundation:media_foundation",
74    "media_foundation:native_media_core",
75    "media_library:media_library",
76    "media_library:media_library_manager",
77    "safwk:system_ability_fwk",
78    "samgr:samgr_proxy",
79    "window_manager:libdm",
80  ]
81
82  defines = [ "private=public" ]
83  if (use_sensor) {
84    external_deps += [ "sensor:sensor_interface_native" ]
85    defines += [ "CAMERA_USE_SENSOR" ]
86  }
87
88  include_dirs += [
89    "${driver_peripheral_path}/interfaces/include",
90    "${driver_peripheral_path}/interfaces/hdi_ipc",
91    "${driver_peripheral_path}/interfaces/hdi_ipc/utils/include",
92    "${driver_peripheral_path}/interfaces/hdi_ipc/server/include",
93    "${driver_peripheral_path}/interfaces/hdi_ipc/callback/device/include",
94    "${driver_peripheral_path}/interfaces/hdi_ipc/callback/operator/include",
95    "${driver_peripheral_path}/interfaces/hdi_ipc/callback/host/include",
96  ]
97
98  cflags = [ "-fPIC" ]
99  cflags_cc = cflags
100  sanitize = {
101    cfi = true
102    cfi_cross_dso = true
103    debug = false
104  }
105}
106