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