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 67 # for scene session manager 68 "${window_base_path}/interfaces/innerkits/wm", 69 "${window_base_path}/wmserver/include", 70 "${graphic_base_path}/graphic_2d/rosen/modules/animation/window_animation/include", 71 "${graphic_base_path}/graphic_2d/rosen/modules/platform/image_native", 72 73 # for window_manager_hilog 74 "${window_base_path}/utils/include", 75 76 # for screenlock_manager_interface 77 "${screenlock_mgr_path}/services/include", 78 "${screenlock_mgr_path}/utils/include", 79 "${screenlock_mgr_path}/frameworks/native/include", 80 "${window_base_path}/wm/include", 81 "${window_base_path}/wm/include/zidl", 82 ] 83} 84 85ohos_shared_library("sms") { 86 sources = [ 87 "${window_base_path}/window_scene/session_manager/src/zidl/scene_session_manager_proxy.cpp", 88 "src/mock_screen_manager_service.cpp", 89 "src/mock_session_manager_service.cpp", 90 "src/zidl/mock_screen_manager_service_stub.cpp", 91 "src/zidl/mock_session_manager_service_stub.cpp", 92 ] 93 94 public_configs = [ ":libmockwms_config" ] 95 96 deps = [ 97 "${window_base_path}/utils:libwmutil", 98 "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 99 "${window_base_path}/window_scene/session_manager_service:session_manager_service", 100 "../utils:libwmutil", 101 ] 102 external_deps = [ 103 "ability_base:want", 104 "ability_runtime:mission_info", 105 "c_utils:utils", 106 "graphic_2d:librender_service_client", 107 "hilog:libhilog", 108 "image_framework:image_native", 109 "ipc:ipc_single", 110 "safwk:system_ability_fwk", 111 ] 112 innerapi_tags = [ "platformsdk" ] 113 part_name = "window_manager" 114 subsystem_name = "window" 115} 116 117ohos_shared_library("libwms") { 118 defines = [] 119 if (use_musl) { 120 if (use_jemalloc && use_jemalloc_dfx_intf) { 121 defines += [ "CONFIG_USE_JEMALLOC_DFX_INTF" ] 122 } 123 } 124 sources = [ 125 "../wm/src/zidl/window_manager_agent_proxy.cpp", 126 "../wm/src/zidl/window_proxy.cpp", 127 "src/accessibility_connection.cpp", 128 "src/avoid_area_controller.cpp", 129 "src/display_group_controller.cpp", 130 "src/display_group_info.cpp", 131 "src/display_zoom_controller.cpp", 132 "src/drag_controller.cpp", 133 "src/freeze_controller.cpp", 134 "src/inner_window.cpp", 135 "src/input_window_monitor.cpp", 136 "src/memory_guard.cpp", 137 "src/minimize_app.cpp", 138 "src/remote_animation.cpp", 139 "src/starting_window.cpp", 140 "src/utils/window_manager_service_utils.cpp", 141 "src/window_common_event.cpp", 142 "src/window_controller.cpp", 143 "src/window_dumper.cpp", 144 "src/window_group_mgr.cpp", 145 "src/window_inner_manager.cpp", 146 "src/window_layout_policy.cpp", 147 "src/window_layout_policy_cascade.cpp", 148 "src/window_layout_policy_tile.cpp", 149 "src/window_manager_agent_controller.cpp", 150 "src/window_manager_config.cpp", 151 "src/window_manager_service.cpp", 152 "src/window_node.cpp", 153 "src/window_node_container.cpp", 154 "src/window_node_state_machine.cpp", 155 "src/window_pair.cpp", 156 "src/window_root.cpp", 157 "src/window_snapshot/snapshot_controller.cpp", 158 "src/window_snapshot/snapshot_proxy.cpp", 159 "src/window_snapshot/snapshot_stub.cpp", 160 "src/window_system_effect.cpp", 161 "src/window_zorder_policy.cpp", 162 "src/zidl/window_manager_stub.cpp", 163 ] 164 165 configs = [ 166 ":libwms_config", 167 "../resources/config/build:coverage_flags", 168 ] 169 170 deps = [ 171 "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 172 "../dmserver:libdms", 173 "../etc:wms_etc", 174 "../utils:libwmutil", 175 "../wm:libwm", 176 "//third_party/libxml2:libxml2", 177 ] 178 179 external_deps = [ 180 "ability_base:want", 181 "ability_runtime:ability_manager", 182 "c_utils:utils", 183 "common_event_service:cesfwk_innerkits", 184 "config_policy:configpolicy_util", 185 "display_manager:displaymgr", 186 "eventhandler:libeventhandler", 187 "graphic_2d:librender_service_client", 188 "graphic_2d:window_animation", 189 "hicollie:libhicollie", 190 "hilog:libhilog", 191 "hisysevent:libhisysevent", 192 "hitrace:hitrace_meter", 193 "image_framework:image_native", 194 "input:libmmi-client", 195 "ipc:ipc_single", 196 "power_manager:powermgr_client", 197 "safwk:system_ability_fwk", 198 ] 199 200 if (defined(global_parts_info) && 201 defined(global_parts_info.resourceschedule_memmgr_plugin)) { 202 external_deps += [ "memmgr_plugin:memmgrclient" ] 203 defines += [ "MEMMGR_WINDOW_ENABLE" ] 204 } 205 206 if (defined(global_parts_info) && 207 defined(global_parts_info.resourceschedule_memmgr)) { 208 external_deps += [ "memmgr:memmgrclient" ] 209 defines += [ "MEMMGR_WINDOW_ENABLE" ] 210 } 211 212 if (defined(global_parts_info) && 213 defined(global_parts_info.resourceschedule_resource_schedule_service)) { 214 external_deps += [ "resource_schedule_service:ressched_client" ] 215 defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ] 216 } 217 218 if (defined(global_parts_info) && 219 defined(global_parts_info.resourceschedule_soc_perf)) { 220 external_deps += [ "soc_perf:socperf_client" ] 221 defines += [ "SOC_PERF_ENABLE" ] 222 } 223 224 if (is_standard_system) { 225 external_deps += [ "init:libbegetutil" ] 226 } else { 227 external_deps += [ "init_lite:libbegetutil" ] 228 } 229 230 part_name = "window_manager" 231 subsystem_name = "window" 232} 233 234group("test") { 235 testonly = true 236 deps = [ "test:test" ] 237} 238