• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/media_foundation/config.gni")
16
17#################################################################################################################capi
18config("media_foundation_capi_unit_test_config") {
19  include_dirs = [
20    "./",
21    "./include",
22    "../avbuffer",
23    "../avbuffer/capi",
24    "../format",
25    "../format/capi",
26    "$histreamer_root_dir/interface",
27    "$histreamer_root_dir/interface/inner_api",
28    "$histreamer_root_dir/interface/kits/c",
29    "$histreamer_root_dir/interface/inner_api/buffer",
30    "$histreamer_root_dir/interface/inner_api/meta",
31    "$histreamer_root_dir/src/buffer/avbuffer/include",
32    "$histreamer_root_dir/../../graphic/graphic_surface/interface/inner_api/surface",
33    "$histreamer_root_dir/../../graphic/graphic_2d/utils/sync_fence/export",
34    "$histreamer_root_dir/../../graphic/graphic_surface/surface/include",
35    "$histreamer_root_dir/../../graphic/graphic_2d/interface/inner_api",
36    "$histreamer_root_dir/../../graphic/graphic_surface/interface/inner_api",
37    "$histreamer_root_dir/../../window/window_manager/interface/innerkits",
38  ]
39
40  cflags = [
41    "-std=c++17",
42    "-fno-rtti",
43    "-fexceptions",
44    "-Wall",
45    "-fno-common",
46    "-fstack-protector-strong",
47    "-Wshadow",
48    "-FPIC",
49    "-FS",
50    "-O2",
51    "-D_FORTIFY_SOURCE=2",
52    "-fvisibility=hidden",
53    "-Wformat=2",
54    "-Wdate-time",
55    "-Werror",
56    "-Wextra",
57    "-Wimplicit-fallthrough",
58    "-Wsign-compare",
59    "-Wunused-parameter",
60    "-Dprivate=public",
61    "-Dprotected=public",
62  ]
63
64  cflags_cc = cflags
65
66  defines = [
67    "HST_ANY_WITH_NO_RTTI",
68    "MEDIA_OHOS",
69  ]
70}
71
72ohos_static_library("media_foundation_capi_unit_test") {
73  sanitize = {
74    cfi = true
75    cfi_cross_dso = true
76    debug = false
77  }
78  testonly = true
79  public_configs = [ ":media_foundation_capi_unit_test_config" ]
80
81  sources = [
82    "../avbuffer/capi/avbuffer_capi_mock.cpp",
83    "../avbuffer/capi/avbuffer_capi_mock_factory.cpp",
84    "../format/capi/avformat_capi_mock.cpp",
85    "../format/capi/avformat_capi_mock_factory.cpp",
86  ]
87
88  deps = [
89    "$histreamer_root_dir/src:media_foundation",
90    "$histreamer_root_dir/src/capi:native_media_core",
91    "//third_party/bounds_checking_function:libsec_static",
92  ]
93
94  external_deps = [
95    "c_utils:utils",
96    "graphic_2d:libgraphic_utils",
97    "graphic_2d:librender_service_client",
98    "graphic_surface:surface",
99    "graphic_surface:sync_fence",
100    "hilog:libhilog",
101    "hisysevent:libhisysevent",
102    "hitrace:hitrace_meter",
103    "init:libbegetutil",
104    "ipc:ipc_core",
105    "window_manager:libwm",
106  ]
107
108  subsystem_name = "multimedia"
109  part_name = "media_foundation"
110}
111
112#################################################################################################################inner
113config("media_foundation_inner_unit_test_config") {
114  include_dirs = [
115    "./",
116    "./include",
117    "../avbuffer",
118    "../avbuffer/inner",
119    "../format",
120    "../format/inner",
121    "$histreamer_root_dir/interface",
122    "$histreamer_root_dir/interface/kits/c",
123    "$histreamer_root_dir/interface/inner_api",
124    "$histreamer_root_dir/interface/inner_api/buffer",
125    "$histreamer_root_dir/interface/inner_api/meta",
126    "$histreamer_root_dir/src/buffer/avbuffer/include",
127    "$histreamer_root_dir/../../graphic/graphic_surface/interface/inner_api/surface",
128    "$histreamer_root_dir/../../graphic/graphic_2d/utils/sync_fence/export",
129    "$histreamer_root_dir/../../graphic/graphic_surface/surface/include",
130    "$histreamer_root_dir/../../graphic/graphic_2d/interface/inner_api",
131    "$histreamer_root_dir/../../graphic/graphic_surface/interface/inner_api",
132    "$histreamer_root_dir/../../window/window_manager/interface/innerkits",
133  ]
134
135  cflags = [
136    "-std=c++17",
137    "-fno-rtti",
138    "-fexceptions",
139    "-Wall",
140    "-fno-common",
141    "-fstack-protector-strong",
142    "-Wshadow",
143    "-FPIC",
144    "-FS",
145    "-O2",
146    "-D_FORTIFY_SOURCE=2",
147    "-fvisibility=hidden",
148    "-Wformat=2",
149    "-Wdate-time",
150    "-Wextra",
151    "-Wimplicit-fallthrough",
152    "-Wsign-compare",
153    "-Dprivate=public",
154    "-Dprotected=public",
155  ]
156
157  cflags_cc = cflags
158
159  defines = [
160    "HST_ANY_WITH_NO_RTTI",
161    "MEDIA_OHOS",
162  ]
163}
164
165ohos_static_library("media_foundation_inner_unit_test") {
166  sanitize = {
167    cfi = true
168    cfi_cross_dso = true
169    debug = false
170  }
171  testonly = true
172  public_configs = [ ":media_foundation_inner_unit_test_config" ]
173
174  sources = [
175    "../avbuffer/inner/avbuffer_inner_mock.cpp",
176    "../avbuffer/inner/avbuffer_inner_mock_factory.cpp",
177    "../format/inner/avformat_inner_mock.cpp",
178    "../format/inner/avformat_inner_mock_factory.cpp",
179  ]
180
181  deps = [
182    "$histreamer_root_dir/src:media_foundation",
183    "//third_party/bounds_checking_function:libsec_static",
184  ]
185
186  external_deps = [
187    "c_utils:utils",
188    "graphic_2d:libgraphic_utils",
189    "graphic_2d:librender_service_client",
190    "graphic_surface:surface",
191    "graphic_surface:sync_fence",
192    "hilog:libhilog",
193    "hisysevent:libhisysevent",
194    "hitrace:hitrace_meter",
195    "init:libbegetutil",
196    "ipc:ipc_core",
197    "window_manager:libwm",
198  ]
199
200  subsystem_name = "multimedia"
201  part_name = "media_foundation"
202}
203