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