1fa7767c5Sopenharmony_ci# Copyright (C) 2023 Huawei Device Co., Ltd. 2fa7767c5Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3fa7767c5Sopenharmony_ci# you may not use this file except in compliance with the License. 4fa7767c5Sopenharmony_ci# You may obtain a copy of the License at 5fa7767c5Sopenharmony_ci# 6fa7767c5Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7fa7767c5Sopenharmony_ci# 8fa7767c5Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9fa7767c5Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10fa7767c5Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11fa7767c5Sopenharmony_ci# See the License for the specific language governing permissions and 12fa7767c5Sopenharmony_ci# limitations under the License. 13fa7767c5Sopenharmony_ci 14fa7767c5Sopenharmony_ciimport("//build/ohos.gni") 15fa7767c5Sopenharmony_ciimport("//foundation/multimedia/media_foundation/config.gni") 16fa7767c5Sopenharmony_ci 17fa7767c5Sopenharmony_ci#################################################################################################################capi 18fa7767c5Sopenharmony_ciconfig("media_foundation_capi_unit_test_config") { 19fa7767c5Sopenharmony_ci include_dirs = [ 20fa7767c5Sopenharmony_ci "./", 21fa7767c5Sopenharmony_ci "./include", 22fa7767c5Sopenharmony_ci "../avbuffer", 23fa7767c5Sopenharmony_ci "../avbuffer/capi", 24fa7767c5Sopenharmony_ci "../format", 25fa7767c5Sopenharmony_ci "../format/capi", 26fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface", 27fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/inner_api", 28fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/kits/c", 29fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/inner_api/buffer", 30fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/inner_api/meta", 31fa7767c5Sopenharmony_ci "$histreamer_root_dir/src/buffer/avbuffer/include", 32fa7767c5Sopenharmony_ci ] 33fa7767c5Sopenharmony_ci 34fa7767c5Sopenharmony_ci cflags = [ 35fa7767c5Sopenharmony_ci "-std=c++17", 36fa7767c5Sopenharmony_ci "-fno-rtti", 37fa7767c5Sopenharmony_ci "-fexceptions", 38fa7767c5Sopenharmony_ci "-Wall", 39fa7767c5Sopenharmony_ci "-fno-common", 40fa7767c5Sopenharmony_ci "-fstack-protector-strong", 41fa7767c5Sopenharmony_ci "-Wshadow", 42fa7767c5Sopenharmony_ci "-FPIC", 43fa7767c5Sopenharmony_ci "-FS", 44fa7767c5Sopenharmony_ci "-O2", 45fa7767c5Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 46fa7767c5Sopenharmony_ci "-fvisibility=hidden", 47fa7767c5Sopenharmony_ci "-Wformat=2", 48fa7767c5Sopenharmony_ci "-Wdate-time", 49fa7767c5Sopenharmony_ci "-Werror", 50fa7767c5Sopenharmony_ci "-Wextra", 51fa7767c5Sopenharmony_ci "-Wimplicit-fallthrough", 52fa7767c5Sopenharmony_ci "-Wsign-compare", 53fa7767c5Sopenharmony_ci "-Wunused-parameter", 54fa7767c5Sopenharmony_ci "-Dprivate=public", 55fa7767c5Sopenharmony_ci "-Dprotected=public", 56fa7767c5Sopenharmony_ci ] 57fa7767c5Sopenharmony_ci 58fa7767c5Sopenharmony_ci cflags_cc = cflags 59fa7767c5Sopenharmony_ci 60fa7767c5Sopenharmony_ci defines = [ 61fa7767c5Sopenharmony_ci "HST_ANY_WITH_NO_RTTI", 62fa7767c5Sopenharmony_ci "MEDIA_OHOS", 63fa7767c5Sopenharmony_ci ] 64fa7767c5Sopenharmony_ci} 65fa7767c5Sopenharmony_ci 66fa7767c5Sopenharmony_ciohos_static_library("media_foundation_capi_unit_test") { 67fa7767c5Sopenharmony_ci sanitize = { 68fa7767c5Sopenharmony_ci cfi = true 69fa7767c5Sopenharmony_ci cfi_cross_dso = true 70fa7767c5Sopenharmony_ci debug = false 71fa7767c5Sopenharmony_ci } 72fa7767c5Sopenharmony_ci testonly = true 73fa7767c5Sopenharmony_ci public_configs = [ ":media_foundation_capi_unit_test_config" ] 74fa7767c5Sopenharmony_ci 75fa7767c5Sopenharmony_ci sources = [ 76fa7767c5Sopenharmony_ci "../avbuffer/capi/avbuffer_capi_mock.cpp", 77fa7767c5Sopenharmony_ci "../avbuffer/capi/avbuffer_capi_mock_factory.cpp", 78fa7767c5Sopenharmony_ci "../format/capi/avformat_capi_mock.cpp", 79fa7767c5Sopenharmony_ci "../format/capi/avformat_capi_mock_factory.cpp", 80fa7767c5Sopenharmony_ci ] 81fa7767c5Sopenharmony_ci 82fa7767c5Sopenharmony_ci deps = [ 83fa7767c5Sopenharmony_ci "$histreamer_root_dir/src:media_foundation", 84fa7767c5Sopenharmony_ci "$histreamer_root_dir/src/capi:capi_packages", 85fa7767c5Sopenharmony_ci ] 86fa7767c5Sopenharmony_ci 87fa7767c5Sopenharmony_ci external_deps = [ 88fa7767c5Sopenharmony_ci "bounds_checking_function:libsec_static", 89fa7767c5Sopenharmony_ci "c_utils:utils", 90fa7767c5Sopenharmony_ci "graphic_2d:libgraphic_utils", 91fa7767c5Sopenharmony_ci "graphic_2d:librender_service_client", 92fa7767c5Sopenharmony_ci "graphic_surface:surface", 93fa7767c5Sopenharmony_ci "graphic_surface:sync_fence", 94fa7767c5Sopenharmony_ci "hilog:libhilog", 95fa7767c5Sopenharmony_ci "hisysevent:libhisysevent", 96fa7767c5Sopenharmony_ci "hitrace:hitrace_meter", 97fa7767c5Sopenharmony_ci "init:libbegetutil", 98fa7767c5Sopenharmony_ci "ipc:ipc_core", 99fa7767c5Sopenharmony_ci "window_manager:libwm", 100fa7767c5Sopenharmony_ci ] 101fa7767c5Sopenharmony_ci 102fa7767c5Sopenharmony_ci subsystem_name = "multimedia" 103fa7767c5Sopenharmony_ci part_name = "media_foundation" 104fa7767c5Sopenharmony_ci} 105fa7767c5Sopenharmony_ci 106fa7767c5Sopenharmony_ci#################################################################################################################inner 107fa7767c5Sopenharmony_ciconfig("media_foundation_inner_unit_test_config") { 108fa7767c5Sopenharmony_ci include_dirs = [ 109fa7767c5Sopenharmony_ci "./", 110fa7767c5Sopenharmony_ci "./include", 111fa7767c5Sopenharmony_ci "../avbuffer", 112fa7767c5Sopenharmony_ci "../avbuffer/inner", 113fa7767c5Sopenharmony_ci "../format", 114fa7767c5Sopenharmony_ci "../format/inner", 115fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface", 116fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/kits/c", 117fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/inner_api", 118fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/inner_api/buffer", 119fa7767c5Sopenharmony_ci "$histreamer_root_dir/interface/inner_api/meta", 120fa7767c5Sopenharmony_ci "$histreamer_root_dir/src/buffer/avbuffer/include", 121fa7767c5Sopenharmony_ci ] 122fa7767c5Sopenharmony_ci 123fa7767c5Sopenharmony_ci cflags = [ 124fa7767c5Sopenharmony_ci "-std=c++17", 125fa7767c5Sopenharmony_ci "-fno-rtti", 126fa7767c5Sopenharmony_ci "-fexceptions", 127fa7767c5Sopenharmony_ci "-Wall", 128fa7767c5Sopenharmony_ci "-fno-common", 129fa7767c5Sopenharmony_ci "-fstack-protector-strong", 130fa7767c5Sopenharmony_ci "-Wshadow", 131fa7767c5Sopenharmony_ci "-FPIC", 132fa7767c5Sopenharmony_ci "-FS", 133fa7767c5Sopenharmony_ci "-O2", 134fa7767c5Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 135fa7767c5Sopenharmony_ci "-fvisibility=hidden", 136fa7767c5Sopenharmony_ci "-Wformat=2", 137fa7767c5Sopenharmony_ci "-Wdate-time", 138fa7767c5Sopenharmony_ci "-Wextra", 139fa7767c5Sopenharmony_ci "-Wimplicit-fallthrough", 140fa7767c5Sopenharmony_ci "-Wsign-compare", 141fa7767c5Sopenharmony_ci "-Dprivate=public", 142fa7767c5Sopenharmony_ci "-Dprotected=public", 143fa7767c5Sopenharmony_ci ] 144fa7767c5Sopenharmony_ci 145fa7767c5Sopenharmony_ci cflags_cc = cflags 146fa7767c5Sopenharmony_ci 147fa7767c5Sopenharmony_ci defines = [ 148fa7767c5Sopenharmony_ci "HST_ANY_WITH_NO_RTTI", 149fa7767c5Sopenharmony_ci "MEDIA_OHOS", 150fa7767c5Sopenharmony_ci ] 151fa7767c5Sopenharmony_ci} 152fa7767c5Sopenharmony_ci 153fa7767c5Sopenharmony_ciohos_static_library("media_foundation_inner_unit_test") { 154fa7767c5Sopenharmony_ci sanitize = { 155fa7767c5Sopenharmony_ci cfi = true 156fa7767c5Sopenharmony_ci cfi_cross_dso = true 157fa7767c5Sopenharmony_ci debug = false 158fa7767c5Sopenharmony_ci } 159fa7767c5Sopenharmony_ci testonly = true 160fa7767c5Sopenharmony_ci public_configs = [ ":media_foundation_inner_unit_test_config" ] 161fa7767c5Sopenharmony_ci 162fa7767c5Sopenharmony_ci sources = [ 163fa7767c5Sopenharmony_ci "../avbuffer/inner/avbuffer_inner_mock.cpp", 164fa7767c5Sopenharmony_ci "../avbuffer/inner/avbuffer_inner_mock_factory.cpp", 165fa7767c5Sopenharmony_ci "../format/inner/avformat_inner_mock.cpp", 166fa7767c5Sopenharmony_ci "../format/inner/avformat_inner_mock_factory.cpp", 167fa7767c5Sopenharmony_ci ] 168fa7767c5Sopenharmony_ci 169fa7767c5Sopenharmony_ci deps = [ "$histreamer_root_dir/src:media_foundation" ] 170fa7767c5Sopenharmony_ci 171fa7767c5Sopenharmony_ci external_deps = [ 172fa7767c5Sopenharmony_ci "bounds_checking_function:libsec_static", 173fa7767c5Sopenharmony_ci "c_utils:utils", 174fa7767c5Sopenharmony_ci "graphic_2d:libgraphic_utils", 175fa7767c5Sopenharmony_ci "graphic_2d:librender_service_client", 176fa7767c5Sopenharmony_ci "graphic_surface:surface", 177fa7767c5Sopenharmony_ci "graphic_surface:sync_fence", 178fa7767c5Sopenharmony_ci "hilog:libhilog", 179fa7767c5Sopenharmony_ci "hisysevent:libhisysevent", 180fa7767c5Sopenharmony_ci "hitrace:hitrace_meter", 181fa7767c5Sopenharmony_ci "init:libbegetutil", 182fa7767c5Sopenharmony_ci "ipc:ipc_core", 183fa7767c5Sopenharmony_ci "window_manager:libwm", 184fa7767c5Sopenharmony_ci ] 185fa7767c5Sopenharmony_ci 186fa7767c5Sopenharmony_ci subsystem_name = "multimedia" 187fa7767c5Sopenharmony_ci part_name = "media_foundation" 188fa7767c5Sopenharmony_ci} 189