1# Copyright (C) 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/ohos.gni")
15import("//foundation/multimedia/av_codec/config.gni")
16
17#################################################################################################################capi
18config("av_codec_capi_unit_test_config") {
19  include_dirs = [
20    "./",
21    "./common_mock/avmemory/capi",
22    "./common_mock/avmemory",
23    "./common_mock/surface/capi",
24    "./common_mock/surface",
25    "./common_mock/avformat/capi",
26    "./common_mock/avformat",
27    "./common_mock/avbuffer/capi",
28    "./common_mock/avbuffer",
29    "./common_mock",
30    "$av_codec_root_dir/frameworks/native/capi/common",
31    "$av_codec_root_dir/interfaces/inner_api/native",
32    "$av_codec_root_dir/interfaces/kits/c",
33    "$av_codec_root_dir/interfaces/",
34    "$av_codec_root_dir/services/dfx/include",
35    "$av_codec_root_dir/services/utils/include",
36    "$av_codec_root_dir/../../graphic/graphic_2d/utils/sync_fence/export",
37    "$av_codec_root_dir/../../graphic/graphic_surface/surface/include",
38    "$av_codec_root_dir/../../graphic/graphic_2d/interfaces/inner_api",
39    "$av_codec_root_dir/../../window/window_manager/interfaces/innerkits",
40    "$media_foundation_root_dir/interface/kits/c",
41    "$media_foundation_root_dir/interface/inner_api",
42    "$media_foundation_root_dir/src/buffer/avbuffer/include",
43  ]
44
45  cflags = [
46    "-std=c++17",
47    "-fno-rtti",
48    "-fexceptions",
49    "-Dprivate=public",
50    "-Dprotected=public",
51  ]
52  cflags_cc = cflags
53  defines = av_codec_defines
54}
55
56ohos_static_library("av_codec_capi_unit_test") {
57  testonly = true
58  public_configs = [ ":av_codec_capi_unit_test_config" ]
59
60  sources = [
61    "./common_mock/avbuffer/capi/avbuffer_capi_mock.cpp",
62    "./common_mock/avbuffer/capi/avbuffer_capi_mock_factory.cpp",
63    "./common_mock/avformat/capi/avformat_capi_mock.cpp",
64    "./common_mock/avformat/capi/avformat_capi_mock_factory.cpp",
65    "./common_mock/avmemory/capi/avmemory_capi_mock.cpp",
66    "./common_mock/avmemory/capi/avmemory_capi_mock_factory.cpp",
67    "./common_mock/surface/capi/surface_capi_mock.cpp",
68  ]
69
70  public_deps = [
71    "$av_codec_root_dir/interfaces/kits/c:capi_packages",
72    "$av_codec_root_dir/interfaces/kits/c:native_media_vdec",
73    "$av_codec_root_dir/interfaces/kits/c:native_media_venc",
74    "$av_codec_root_dir/services/utils:av_codec_service_utils",
75  ]
76
77  external_deps = [
78    "av_codec:av_codec_client",
79    "bounds_checking_function:libsec_static",
80    "c_utils:utils",
81    "graphic_2d:libgraphic_utils",
82    "graphic_2d:librender_service_client",
83    "graphic_surface:surface",
84    "graphic_surface:sync_fence",
85    "hilog:libhilog",
86    "hisysevent:libhisysevent",
87    "hitrace:hitrace_meter",
88    "init:libbegetutil",
89    "ipc:ipc_core",
90    "media_foundation:media_foundation",
91    "media_foundation:native_media_core",
92    "window_manager:libwm",
93  ]
94
95  subsystem_name = "multimedia"
96  part_name = "av_codec"
97}
98
99#################################################################################################################inner
100config("av_codec_inner_unit_test_config") {
101  include_dirs = [
102    "./",
103    "./common_mock/avmemory/inner",
104    "./common_mock/avmemory",
105    "./common_mock/surface/inner",
106    "./common_mock/surface",
107    "./common_mock/avformat/inner",
108    "./common_mock/avformat",
109    "./common_mock/avbuffer/inner",
110    "./common_mock/avbuffer",
111    "./common_mock",
112    "$av_codec_root_dir/frameworks/native/capi/common",
113    "$av_codec_root_dir/interfaces/inner_api/native",
114    "$av_codec_root_dir/interfaces/",
115    "$av_codec_root_dir/interfaces/kits/c",
116    "$av_codec_root_dir/services/dfx/include",
117    "$av_codec_root_dir/services/utils/include",
118    "$av_codec_root_dir/../../graphic/graphic_2d/utils/sync_fence/export",
119    "$av_codec_root_dir/../../graphic/graphic_surface/surface/include",
120    "$av_codec_root_dir/../../graphic/graphic_2d/interfaces/inner_api",
121    "$av_codec_root_dir/../../window/window_manager/interfaces/innerkits",
122    "$media_foundation_root_dir/interface/kits/c",
123    "$media_foundation_root_dir/interface/inner_api",
124    "$media_foundation_root_dir/src/buffer/avbuffer/include",
125  ]
126  cflags = [
127    "-std=c++17",
128    "-fno-rtti",
129    "-fexceptions",
130    "-Dprivate=public",
131    "-Dprotected=public",
132  ]
133  cflags_cc = cflags
134  defines = av_codec_defines
135}
136
137ohos_source_set("av_codec_inner_unit_test") {
138  testonly = true
139  public_configs = [ ":av_codec_inner_unit_test_config" ]
140
141  sources = [
142    "./common_mock/avbuffer/inner/avbuffer_inner_mock.cpp",
143    "./common_mock/avbuffer/inner/avbuffer_inner_mock_factory.cpp",
144    "./common_mock/avformat/inner/avformat_inner_mock.cpp",
145    "./common_mock/avformat/inner/avformat_inner_mock_factory.cpp",
146    "./common_mock/avmemory/inner/avmemory_inner_mock.cpp",
147    "./common_mock/avmemory/inner/avmemory_inner_mock_factory.cpp",
148    "./common_mock/surface/inner/surface_inner_mock.cpp",
149  ]
150
151  public_deps = [ "$av_codec_root_dir/services/utils:av_codec_service_utils" ]
152
153  external_deps = [
154    "av_codec:av_codec_client",
155    "bounds_checking_function:libsec_static",
156    "c_utils:utils",
157    "graphic_2d:libgraphic_utils",
158    "graphic_2d:librender_service_client",
159    "graphic_surface:surface",
160    "graphic_surface:sync_fence",
161    "hilog:libhilog",
162    "hisysevent:libhisysevent",
163    "hitrace:hitrace_meter",
164    "init:libbegetutil",
165    "ipc:ipc_core",
166    "media_foundation:media_foundation",
167    "media_foundation:native_media_core",
168    "window_manager:libwm",
169  ]
170
171  subsystem_name = "multimedia"
172  part_name = "av_codec"
173}
174