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