1# Copyright (c) 2021-2022 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("../windowmanager_aafwk.gni") 16config("libwmutil_private_config") { 17 include_dirs = [ 18 "include", 19 "../dmserver/include", 20 "../interfaces/innerkits/dm", 21 "../interfaces/innerkits/wm", 22 ] 23} 24 25config("libwmutil_public_config") { 26 include_dirs = [ "include" ] 27} 28 29## build libwmutil_static.a 30ohos_static_library("libwmutil_static") { 31 branch_protector_ret = "pac_ret" 32 sanitize = { 33 cfi = true 34 cfi_cross_dso = true 35 cfi_vcall_icall_only = true 36 debug = false 37 integer_overflow = true 38 ubsan = true 39 boundary_sanitize = true 40 } 41 sources = [ 42 "src/accessibility_window_info.cpp", 43 "src/agent_death_recipient.cpp", 44 "src/color_parser.cpp", 45 "src/cutout_info.cpp", 46 "src/display_change_info.cpp", 47 "src/display_info.cpp", 48 "src/dms_reporter.cpp", 49 "src/js_err_utils.cpp", 50 "src/perform_reporter.cpp", 51 "src/permission.cpp", 52 "src/persistent_storage.cpp", 53 "src/pip_report.cpp", 54 "src/screen_group_info.cpp", 55 "src/screen_info.cpp", 56 "src/screenshot_info.cpp", 57 "src/singleton_container.cpp", 58 "src/string_util.cpp", 59 "src/surface_draw.cpp", 60 "src/surface_reader.cpp", 61 "src/surface_reader_handler_impl.cpp", 62 "src/sys_cap_util.cpp", 63 "src/unreliable_window_info.cpp", 64 "src/window_drawing_content_info.cpp", 65 "src/window_property.cpp", 66 "src/window_transition_info.cpp", 67 "src/window_visibility_info.cpp", 68 "src/wm_math.cpp", 69 "src/wm_occlusion_region.cpp", 70 "src/xml_config_base.cpp", 71 ] 72 73 configs = [ 74 ":libwmutil_private_config", 75 "${window_base_path}/resources/config/build:coverage_flags", 76 ] 77 78 public_configs = [ ":libwmutil_public_config" ] 79 80 external_deps = [ 81 "ability_base:want", 82 "ability_runtime:ability_manager", 83 "access_token:libaccesstoken_sdk", 84 "access_token:libtokenid_sdk", 85 "bundle_framework:appexecfwk_base", 86 "bundle_framework:appexecfwk_core", 87 "c_utils:utils", 88 "graphic_2d:2d_graphics", 89 "graphic_2d:librender_service_client", 90 "graphic_surface:surface", 91 "hilog:libhilog", 92 "hisysevent:libhisysevent", 93 "hitrace:hitrace_meter", 94 "image_framework:image_native", 95 "input:libmmi-client", 96 "ipc:ipc_single", 97 "napi:ace_napi", 98 "preferences:native_preferences", 99 "samgr:samgr_proxy", 100 ] 101 102 part_name = "window_manager" 103 subsystem_name = "window" 104} 105 106## Build libwmutil_base.so 107ohos_shared_library("libwmutil_base") { 108 branch_protector_ret = "pac_ret" 109 sanitize = { 110 cfi = true 111 cfi_cross_dso = true 112 cfi_vcall_icall_only = true 113 debug = false 114 } 115 sources = [ 116 "src/accessibility_window_info.cpp", 117 "src/agent_death_recipient.cpp", 118 "src/color_parser.cpp", 119 "src/cutout_info.cpp", 120 "src/display_change_info.cpp", 121 "src/display_info.cpp", 122 "src/screen_group_info.cpp", 123 "src/screen_info.cpp", 124 "src/screenshot_info.cpp", 125 "src/singleton_container.cpp", 126 "src/string_util.cpp", 127 "src/unreliable_window_info.cpp", 128 "src/window_drawing_content_info.cpp", 129 "src/window_visibility_info.cpp", 130 "src/wm_math.cpp", 131 "src/wm_occlusion_region.cpp", 132 "src/xml_config_base.cpp", 133 ] 134 135 configs = [ ":libwmutil_private_config" ] 136 137 external_deps = [ 138 "c_utils:utils", 139 "hilog:libhilog", 140 "ipc:ipc_single", 141 ] 142 143 innerapi_tags = [ "platformsdk" ] 144 part_name = "window_manager" 145 subsystem_name = "window" 146} 147 148## Build libwmutil.so 149ohos_shared_library("libwmutil") { 150 branch_protector_ret = "pac_ret" 151 sources = [ 152 "src/dms_reporter.cpp", 153 "src/dms_xcollie.cpp", 154 "src/js_err_utils.cpp", 155 "src/perform_reporter.cpp", 156 "src/permission.cpp", 157 "src/persistent_storage.cpp", 158 "src/pip_report.cpp", 159 "src/screen_cache.cpp", 160 "src/screen_fold_data.cpp", 161 "src/screen_group_info.cpp", 162 "src/screen_info.cpp", 163 "src/surface_draw.cpp", 164 "src/surface_reader.cpp", 165 "src/surface_reader_handler_impl.cpp", 166 "src/sys_cap_util.cpp", 167 "src/typec_port_info.cpp", 168 "src/window_property.cpp", 169 "src/window_transition_info.cpp", 170 ] 171 172 configs = [ 173 ":libwmutil_private_config", 174 "../resources/config/build:coverage_flags", 175 ] 176 177 public_configs = [ ":libwmutil_public_config" ] 178 179 deps = [ ":libwmutil_base" ] 180 181 external_deps = [ 182 "ability_base:want", 183 "ability_runtime:ability_start_setting", 184 "access_token:libaccesstoken_sdk", 185 "access_token:libtokenid_sdk", 186 "bundle_framework:appexecfwk_base", 187 "bundle_framework:appexecfwk_core", 188 "c_utils:utils", 189 "graphic_2d:2d_graphics", 190 "graphic_2d:librender_service_client", 191 "graphic_surface:surface", 192 "hicollie:libhicollie", 193 "hilog:libhilog", 194 "hisysevent:libhisysevent", 195 "hitrace:hitrace_meter", 196 "image_framework:image_native", 197 "input:libmmi-client", 198 "ipc:ipc_single", 199 "napi:ace_napi", 200 "preferences:native_preferences", 201 "samgr:samgr_proxy", 202 ] 203 204 innerapi_tags = [ "platformsdk" ] 205 part_name = "window_manager" 206 subsystem_name = "window" 207 208 defines = [] 209 if (build_variant == "user") { 210 defines += [ "IS_RELEASE_VERSION" ] 211 } 212} 213 214group("test") { 215 testonly = true 216 deps = [ "test:test" ] 217} 218