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 = [ 27 "include", 28 "//foundation/multimodalinput/input/interfaces/native/innerkits/event/include", 29 ] 30} 31 32## build libwmutil_static.a 33ohos_static_library("libwmutil_static") { 34 branch_protector_ret = "pac_ret" 35 sanitize = { 36 cfi = true 37 cfi_cross_dso = true 38 debug = false 39 } 40 sources = [ 41 "src/accessibility_window_info.cpp", 42 "src/agent_death_recipient.cpp", 43 "src/color_parser.cpp", 44 "src/cutout_info.cpp", 45 "src/display_change_info.cpp", 46 "src/display_info.cpp", 47 "src/perform_reporter.cpp", 48 "src/permission.cpp", 49 "src/persistent_storage.cpp", 50 "src/pip_report.cpp", 51 "src/pip_util.cpp", 52 "src/screen_group_info.cpp", 53 "src/screen_info.cpp", 54 "src/screenshot_info.cpp", 55 "src/singleton_container.cpp", 56 "src/string_util.cpp", 57 "src/surface_draw.cpp", 58 "src/surface_reader.cpp", 59 "src/surface_reader_handler_impl.cpp", 60 "src/sys_cap_util.cpp", 61 "src/window_drawing_content_info.cpp", 62 "src/window_property.cpp", 63 "src/window_transition_info.cpp", 64 "src/window_visibility_info.cpp", 65 "src/wm_math.cpp", 66 "src/wm_occlusion_region.cpp", 67 "src/xml_config_base.cpp", 68 ] 69 70 configs = [ 71 ":libwmutil_private_config", 72 "${window_base_path}/resources/config/build:coverage_flags", 73 ] 74 75 public_configs = [ ":libwmutil_public_config" ] 76 77 deps = [ 78 "${graphic_base_path}/graphic_2d/rosen/modules/2d_graphics:2d_graphics", 79 ] 80 81 external_deps = [ 82 "ability_base:want", 83 "ability_runtime:ability_manager", 84 "access_token:libaccesstoken_sdk", 85 "access_token:libtokenid_sdk", 86 "bundle_framework:appexecfwk_base", 87 "bundle_framework:appexecfwk_core", 88 "c_utils:utils", 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 "preferences:native_preferences", 98 "samgr:samgr_proxy", 99 ] 100 101 part_name = "window_manager" 102 subsystem_name = "window" 103} 104 105## Build libwmutil_base.so 106ohos_shared_library("libwmutil_base") { 107 branch_protector_ret = "pac_ret" 108 sanitize = { 109 cfi = true 110 cfi_cross_dso = true 111 debug = false 112 } 113 sources = [ 114 "src/accessibility_window_info.cpp", 115 "src/agent_death_recipient.cpp", 116 "src/color_parser.cpp", 117 "src/cutout_info.cpp", 118 "src/display_change_info.cpp", 119 "src/display_info.cpp", 120 "src/screen_group_info.cpp", 121 "src/screen_info.cpp", 122 "src/screenshot_info.cpp", 123 "src/singleton_container.cpp", 124 "src/string_util.cpp", 125 "src/window_drawing_content_info.cpp", 126 "src/window_visibility_info.cpp", 127 "src/wm_math.cpp", 128 "src/wm_occlusion_region.cpp", 129 "src/xml_config_base.cpp", 130 ] 131 132 configs = [ ":libwmutil_private_config" ] 133 134 external_deps = [ 135 "c_utils:utils", 136 "hilog:libhilog", 137 "ipc:ipc_single", 138 ] 139 140 innerapi_tags = [ "platformsdk" ] 141 part_name = "window_manager" 142 subsystem_name = "window" 143} 144 145## Build libwmutil.so 146ohos_shared_library("libwmutil") { 147 sources = [ 148 "src/perform_reporter.cpp", 149 "src/permission.cpp", 150 "src/persistent_storage.cpp", 151 "src/pip_report.cpp", 152 "src/pip_util.cpp", 153 "src/screen_group_info.cpp", 154 "src/screen_info.cpp", 155 "src/surface_draw.cpp", 156 "src/surface_reader.cpp", 157 "src/surface_reader_handler_impl.cpp", 158 "src/sys_cap_util.cpp", 159 "src/window_property.cpp", 160 "src/window_transition_info.cpp", 161 ] 162 163 configs = [ 164 ":libwmutil_private_config", 165 "../resources/config/build:coverage_flags", 166 ] 167 168 public_configs = [ ":libwmutil_public_config" ] 169 170 public_deps = [ ":libwmutil_base" ] 171 172 external_deps = [ 173 "ability_base:want", 174 "ability_runtime:ability_start_setting", 175 "access_token:libaccesstoken_sdk", 176 "access_token:libtokenid_sdk", 177 "bundle_framework:appexecfwk_base", 178 "bundle_framework:appexecfwk_core", 179 "c_utils:utils", 180 "graphic_2d:2d_graphics", 181 "graphic_2d:librender_service_client", 182 "graphic_surface:surface", 183 "hilog:libhilog", 184 "hisysevent:libhisysevent", 185 "hitrace:hitrace_meter", 186 "image_framework:image_native", 187 "input:libmmi-client", 188 "ipc:ipc_single", 189 "preferences:native_preferences", 190 "samgr:samgr_proxy", 191 ] 192 193 innerapi_tags = [ "platformsdk" ] 194 part_name = "window_manager" 195 subsystem_name = "window" 196} 197 198group("test") { 199 testonly = true 200 deps = [ "test:test" ] 201} 202