• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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