• 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
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