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") 16 17config("libwms_config") { 18 visibility = [ ":*" ] 19 20 include_dirs = [ 21 "include", 22 "include/utils", 23 "include/window_snapshot", 24 "include/window_group", 25 "//utils/system/safwk/native/include", 26 "../interfaces/innerkits/wm", 27 "../interfaces/innerkits/dm", 28 "../wm/include", 29 "../utils/include", 30 "../dm/include", 31 "../dmserver/include", 32 ] 33} 34 35config("libmockwms_config") { 36 visibility = [ ":*" ] 37 38 include_dirs = [ 39 "include", 40 "${window_base_path}/utils/include", 41 "${window_base_path}/interfaces/innerkits/wm", 42 "${window_base_path}/window_scene/session_manager_service/include", 43 "${window_base_path}/window_scene/session_manager/include/zidl", 44 45 # for session_manager 46 "${window_base_path}/interfaces/innerkits/wm", 47 "${window_base_path}/interfaces/include", 48 "${window_base_path}/window_scene", 49 "${window_base_path}/window_scene/interfaces/include", 50 "${window_base_path}/window_scene/session_manager/include", 51 "${window_base_path}/window_scene/session_manager/include/zidl", 52 "${window_base_path}/window_scene/session_manager_service/include", 53 54 # for session_manager 55 "${multimodalinput_path}/input/interfaces/native/innerkits/event/include", 56 "${multimodalinput_path}/input/util/common/include", 57 "${ability_runtime_inner_api_path}/ability_manager/include", 58 "${window_base_path}/wmserver/include", 59 "${window_base_path}/wmserver/include/zidl", 60 61 # for screen_session_manager 62 "${window_base_path}/utils/include", 63 "${window_base_path}/dm/include", 64 "${window_base_path}/interfaces/innerkits/dm", 65 "${window_base_path}/dmserver/include", 66 "${window_base_path}/window_scene/screen_session_manager/include", 67 68 # for scene session manager 69 "${window_base_path}/interfaces/innerkits/wm", 70 "${window_base_path}/wmserver/include", 71 "${graphic_base_path}/graphic_2d/rosen/modules/animation/window_animation/include", 72 "${graphic_base_path}/graphic_2d/rosen/modules/platform/image_native", 73 74 # for window_manager_hilog 75 "${window_base_path}/utils/include", 76 77 "${window_base_path}/wm/include", 78 "${window_base_path}/wm/include/zidl", 79 80 "${accessibility_path}/interfaces/innerkits/common/include/", 81 ] 82} 83 84ohos_shared_library("sms") { 85 branch_protector_ret = "pac_ret" 86 sanitize = { 87 cfi = true 88 cfi_cross_dso = true 89 debug = false 90 } 91 sources = [ 92 "${window_base_path}/window_scene/session_manager/src/screen_session_manager_lite.cpp", 93 "${window_base_path}/window_scene/session_manager/src/zidl/scene_session_manager_proxy.cpp", 94 "${window_base_path}/window_scene/session_manager/src/zidl/screen_session_manager_lite_stub.cpp", 95 "src/mock_session_manager_service.cpp", 96 "src/zidl/mock_session_manager_service_stub.cpp", 97 "src/zidl/session_manager_service_recover_proxy.cpp", 98 ] 99 100 public_configs = [ ":libmockwms_config" ] 101 102 deps = [ 103 "${window_base_path}/utils:libwmutil", 104 "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 105 "../utils:libwmutil", 106 ] 107 external_deps = [ 108 "ability_base:session_info", 109 "ability_base:want", 110 "ability_runtime:mission_info", 111 "bundle_framework:appexecfwk_base", 112 "bundle_framework:appexecfwk_core", 113 "c_utils:utils", 114 "graphic_2d:librender_service_client", 115 "hilog:libhilog", 116 "image_framework:image_native", 117 "ipc:ipc_single", 118 "safwk:system_ability_fwk", 119 "samgr:samgr_proxy", 120 ] 121 if (scene_board_enabled) { 122 deps += [ "${window_base_path}/window_scene/session_manager_service:session_manager_service" ] 123 } 124 if (is_standard_system) { 125 external_deps += [ "init:libbegetutil" ] 126 } else { 127 external_deps += [ "init_lite:libbegetutil" ] 128 } 129 innerapi_tags = [ "platformsdk" ] 130 part_name = "window_manager" 131 subsystem_name = "window" 132} 133 134if (scene_board_enabled) { 135 group("libwms") { 136 deps = [] 137 } 138} else { 139 ohos_shared_library("libwms") { 140 branch_protector_ret = "pac_ret" 141 sanitize = { 142 cfi = true 143 cfi_cross_dso = true 144 debug = false 145 } 146 defines = [] 147 if (use_musl) { 148 if (use_jemalloc && use_jemalloc_dfx_intf) { 149 defines += [ "CONFIG_USE_JEMALLOC_DFX_INTF" ] 150 } 151 } 152 sources = [ 153 "../wm/src/zidl/window_manager_agent_proxy.cpp", 154 "../wm/src/zidl/window_proxy.cpp", 155 "src/accessibility_connection.cpp", 156 "src/avoid_area_controller.cpp", 157 "src/display_group_controller.cpp", 158 "src/display_group_info.cpp", 159 "src/display_zoom_controller.cpp", 160 "src/drag_controller.cpp", 161 "src/freeze_controller.cpp", 162 "src/inner_window.cpp", 163 "src/input_window_monitor.cpp", 164 "src/memory_guard.cpp", 165 "src/minimize_app.cpp", 166 "src/remote_animation.cpp", 167 "src/starting_window.cpp", 168 "src/utils/window_manager_service_utils.cpp", 169 "src/window_common_event.cpp", 170 "src/window_controller.cpp", 171 "src/window_dumper.cpp", 172 "src/window_group_mgr.cpp", 173 "src/window_inner_manager.cpp", 174 "src/window_layout_policy.cpp", 175 "src/window_layout_policy_cascade.cpp", 176 "src/window_layout_policy_tile.cpp", 177 "src/window_manager_agent_controller.cpp", 178 "src/window_manager_config.cpp", 179 "src/window_manager_service.cpp", 180 "src/window_node.cpp", 181 "src/window_node_container.cpp", 182 "src/window_node_state_machine.cpp", 183 "src/window_pair.cpp", 184 "src/window_root.cpp", 185 "src/window_snapshot/snapshot_controller.cpp", 186 "src/window_snapshot/snapshot_proxy.cpp", 187 "src/window_snapshot/snapshot_stub.cpp", 188 "src/window_system_effect.cpp", 189 "src/window_zorder_policy.cpp", 190 "src/zidl/window_manager_stub.cpp", 191 ] 192 193 configs = [ 194 ":libwms_config", 195 "../resources/config/build:coverage_flags", 196 ] 197 198 deps = [ 199 "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 200 "../dmserver:libdms", 201 "../etc:wms_etc", 202 "../utils:libwmutil", 203 "../wm:libwm", 204 "//third_party/libxml2:libxml2", 205 ] 206 207 external_deps = [ 208 "ability_base:want", 209 "ability_runtime:ability_manager", 210 "c_utils:utils", 211 "common_event_service:cesfwk_innerkits", 212 "config_policy:configpolicy_util", 213 "eventhandler:libeventhandler", 214 "graphic_2d:librender_service_client", 215 "graphic_2d:window_animation", 216 "hicollie:libhicollie", 217 "hilog:libhilog", 218 "hisysevent:libhisysevent", 219 "hitrace:hitrace_meter", 220 "image_framework:image_native", 221 "input:libmmi-client", 222 "ipc:ipc_single", 223 "safwk:system_ability_fwk", 224 ] 225 226 if (defined(global_parts_info) && 227 defined(global_parts_info.resourceschedule_memmgr_plugin)) { 228 external_deps += [ "memmgr_plugin:memmgrclient" ] 229 defines += [ "MEMMGR_WINDOW_ENABLE" ] 230 } 231 232 if (defined(global_parts_info) && 233 defined(global_parts_info.resourceschedule_memmgr)) { 234 external_deps += [ "memmgr:memmgrclient" ] 235 defines += [ "MEMMGR_WINDOW_ENABLE" ] 236 } 237 238 if (defined(global_parts_info) && 239 defined(global_parts_info.resourceschedule_resource_schedule_service)) { 240 external_deps += [ "resource_schedule_service:ressched_client" ] 241 defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ] 242 } 243 244 if (defined(global_parts_info) && 245 defined(global_parts_info.resourceschedule_soc_perf)) { 246 external_deps += [ "soc_perf:socperf_client" ] 247 defines += [ "SOC_PERF_ENABLE" ] 248 } 249 250 if (is_standard_system) { 251 external_deps += [ "init:libbegetutil" ] 252 } else { 253 external_deps += [ "init_lite:libbegetutil" ] 254 } 255 256 if (defined(global_parts_info) && 257 defined(global_parts_info.powermgr_power_manager)) { 258 external_deps += [ "power_manager:powermgr_client" ] 259 defines += [ "POWER_MANAGER_ENABLE" ] 260 } 261 262 if (defined(global_parts_info) && 263 defined(global_parts_info.powermgr_display_manager)) { 264 external_deps += [ "display_manager:displaymgr" ] 265 defines += [ "POWERMGR_DISPLAY_MANAGER_ENABLE" ] 266 } 267 268 part_name = "window_manager" 269 subsystem_name = "window" 270 } 271} 272 273group("test") { 274 testonly = true 275 if (scene_board_enabled) { 276 deps = [] 277 } else { 278 deps = [ "test:test" ] 279 } 280} 281