1e0dac50fSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2e0dac50fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e0dac50fSopenharmony_ci# you may not use this file except in compliance with the License.
4e0dac50fSopenharmony_ci# You may obtain a copy of the License at
5e0dac50fSopenharmony_ci#
6e0dac50fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e0dac50fSopenharmony_ci#
8e0dac50fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e0dac50fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e0dac50fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e0dac50fSopenharmony_ci# See the License for the specific language governing permissions and
12e0dac50fSopenharmony_ci# limitations under the License.
13e0dac50fSopenharmony_ci
14e0dac50fSopenharmony_ciimport("//build/ohos.gni")
15e0dac50fSopenharmony_ciimport("../../windowmanager_aafwk.gni")
16e0dac50fSopenharmony_ci
17e0dac50fSopenharmony_ciconfig("session_manager_public_config") {
18e0dac50fSopenharmony_ci  visibility = [ ":*" ]
19e0dac50fSopenharmony_ci
20e0dac50fSopenharmony_ci  include_dirs = [
21e0dac50fSopenharmony_ci    "${window_base_path}/interfaces/innerkits/wm",
22e0dac50fSopenharmony_ci    "${window_base_path}/interfaces/include",
23e0dac50fSopenharmony_ci    "${window_base_path}/window_scene",
24e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/common/include",
25e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/interfaces/include",
26e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/screen_session_manager/include",
27e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/screen_session_manager/include/zidl",
28e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/session_manager/include",
29e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/session_manager/include/zidl",
30e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/session_manager_service/include",
31e0dac50fSopenharmony_ci
32e0dac50fSopenharmony_ci    # for session_manager
33e0dac50fSopenharmony_ci    "${window_base_path}/wmserver/include",
34e0dac50fSopenharmony_ci    "${window_base_path}/wmserver/include/zidl",
35e0dac50fSopenharmony_ci
36e0dac50fSopenharmony_ci    # for screen_session_manager
37e0dac50fSopenharmony_ci    "${window_base_path}/utils/include",
38e0dac50fSopenharmony_ci    "${window_base_path}/dm/include",
39e0dac50fSopenharmony_ci    "${window_base_path}/interfaces/innerkits/dm",
40e0dac50fSopenharmony_ci    "${window_base_path}/dmserver/include",
41e0dac50fSopenharmony_ci
42e0dac50fSopenharmony_ci    # for scene session manager
43e0dac50fSopenharmony_ci    "${window_base_path}/interfaces/innerkits/wm",
44e0dac50fSopenharmony_ci    "${window_base_path}/wmserver/include",
45e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/screen_session_manager_client/include",
46e0dac50fSopenharmony_ci
47e0dac50fSopenharmony_ci    # for window_manager_hilog
48e0dac50fSopenharmony_ci    "${window_base_path}/utils/include",
49e0dac50fSopenharmony_ci
50e0dac50fSopenharmony_ci    "${window_base_path}/wm/include",
51e0dac50fSopenharmony_ci    "${window_base_path}/wm/include/zidl",
52e0dac50fSopenharmony_ci  ]
53e0dac50fSopenharmony_ci}
54e0dac50fSopenharmony_ci
55e0dac50fSopenharmony_ciohos_shared_library("scene_session_manager") {
56e0dac50fSopenharmony_ci  branch_protector_ret = "pac_ret"
57e0dac50fSopenharmony_ci  sanitize = {
58e0dac50fSopenharmony_ci    cfi = true
59e0dac50fSopenharmony_ci    cfi_cross_dso = true
60e0dac50fSopenharmony_ci    cfi_vcall_icall_only = true
61e0dac50fSopenharmony_ci    debug = false
62e0dac50fSopenharmony_ci  }
63e0dac50fSopenharmony_ci  sources = [
64e0dac50fSopenharmony_ci    "../../wm/src/zidl/window_manager_agent_proxy.cpp",
65e0dac50fSopenharmony_ci    "src/anomaly_detection.cpp",
66e0dac50fSopenharmony_ci    "src/distributed_client.cpp",
67e0dac50fSopenharmony_ci    "src/extension_session_manager.cpp",
68e0dac50fSopenharmony_ci    "src/hidump_controller.cpp",
69e0dac50fSopenharmony_ci    "src/publish/scb_dump_subscriber.cpp",
70e0dac50fSopenharmony_ci    "src/scb_session_handler.cpp",
71e0dac50fSopenharmony_ci    "src/scene_input_manager.cpp",
72e0dac50fSopenharmony_ci    "src/scene_session_converter.cpp",
73e0dac50fSopenharmony_ci    "src/scene_session_dirty_manager.cpp",
74e0dac50fSopenharmony_ci    "src/scene_session_manager.cpp",
75e0dac50fSopenharmony_ci    "src/scene_session_manager_lite.cpp",
76e0dac50fSopenharmony_ci    "src/scene_system_ability_listener.cpp",
77e0dac50fSopenharmony_ci    "src/session_listener_controller.cpp",
78e0dac50fSopenharmony_ci    "src/session_manager_agent_controller.cpp",
79e0dac50fSopenharmony_ci    "src/window_scene_config.cpp",
80e0dac50fSopenharmony_ci    "src/zidl/scene_session_manager_lite_stub.cpp",
81e0dac50fSopenharmony_ci    "src/zidl/scene_session_manager_stub.cpp",
82e0dac50fSopenharmony_ci  ]
83e0dac50fSopenharmony_ci
84e0dac50fSopenharmony_ci  public_configs = [ ":session_manager_public_config" ]
85e0dac50fSopenharmony_ci
86e0dac50fSopenharmony_ci  deps = [
87e0dac50fSopenharmony_ci    "${window_base_path}/dm:libdm",
88e0dac50fSopenharmony_ci    "${window_base_path}/utils:libwmutil",
89e0dac50fSopenharmony_ci    "${window_base_path}/utils:libwmutil_base",
90e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/common:window_scene_common",
91e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/intention_event/service:intention_event_anr_manager",
92e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/screen_session_manager_client:screen_session_manager_client",
93e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/session:scene_session",
94e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/session:screen_session",
95e0dac50fSopenharmony_ci  ]
96e0dac50fSopenharmony_ci  public_external_deps = [
97e0dac50fSopenharmony_ci    "ability_runtime:session_handler",
98e0dac50fSopenharmony_ci    "accessibility:accessibility_common",
99e0dac50fSopenharmony_ci    "graphic_2d:librender_service_client",
100e0dac50fSopenharmony_ci    "graphic_2d:window_animation",
101e0dac50fSopenharmony_ci    "input:libmmi-client",
102e0dac50fSopenharmony_ci    "input:libmmi-napi",
103e0dac50fSopenharmony_ci  ]
104e0dac50fSopenharmony_ci  external_deps = [
105e0dac50fSopenharmony_ci    "ability_base:session_info",
106e0dac50fSopenharmony_ci    "ability_base:want",
107e0dac50fSopenharmony_ci    "ability_runtime:ability_context_native",
108e0dac50fSopenharmony_ci    "ability_runtime:ability_deps_wrapper",
109e0dac50fSopenharmony_ci    "ability_runtime:ability_manager",
110e0dac50fSopenharmony_ci    "ability_runtime:ability_start_setting",
111e0dac50fSopenharmony_ci    "ability_runtime:app_manager",
112e0dac50fSopenharmony_ci    "ability_runtime:mission_info",
113e0dac50fSopenharmony_ci    "ability_runtime:session_handler",
114e0dac50fSopenharmony_ci    "ace_engine:ace_uicontent",
115e0dac50fSopenharmony_ci    "bundle_framework:appexecfwk_base",
116e0dac50fSopenharmony_ci    "bundle_framework:appexecfwk_core",
117e0dac50fSopenharmony_ci    "c_utils:utils",
118e0dac50fSopenharmony_ci    "config_policy:configpolicy_util",
119e0dac50fSopenharmony_ci    "dsoftbus:softbus_client",
120e0dac50fSopenharmony_ci    "eventhandler:libeventhandler",
121e0dac50fSopenharmony_ci    "ffrt:libffrt",
122e0dac50fSopenharmony_ci    "graphic_2d:librender_service_client",
123e0dac50fSopenharmony_ci    "hicollie:libhicollie",
124e0dac50fSopenharmony_ci    "hilog:libhilog",
125e0dac50fSopenharmony_ci    "hisysevent:libhisysevent",
126e0dac50fSopenharmony_ci    "hitrace:hitrace_meter",
127e0dac50fSopenharmony_ci    "image_framework:image_native",
128e0dac50fSopenharmony_ci    "init:libbegetutil",
129e0dac50fSopenharmony_ci    "input:libmmi-client",
130e0dac50fSopenharmony_ci    "ipc:ipc_single",
131e0dac50fSopenharmony_ci    "libxml2:libxml2",
132e0dac50fSopenharmony_ci    "napi:ace_napi",
133e0dac50fSopenharmony_ci    "resource_management:global_resmgr",
134e0dac50fSopenharmony_ci    "samgr:samgr_proxy",
135e0dac50fSopenharmony_ci  ]
136e0dac50fSopenharmony_ci
137e0dac50fSopenharmony_ci  defines = []
138e0dac50fSopenharmony_ci  if (defined(global_parts_info) &&
139e0dac50fSopenharmony_ci      defined(global_parts_info.resourceschedule_memmgr_override)) {
140e0dac50fSopenharmony_ci    external_deps += [ "memmgr:memmgrclient" ]
141e0dac50fSopenharmony_ci    defines += [ "MEMMGR_WINDOW_ENABLE" ]
142e0dac50fSopenharmony_ci  }
143e0dac50fSopenharmony_ci
144e0dac50fSopenharmony_ci  if (defined(global_parts_info) &&
145e0dac50fSopenharmony_ci      defined(global_parts_info.powermgr_power_manager)) {
146e0dac50fSopenharmony_ci    external_deps += [ "power_manager:powermgr_client" ]
147e0dac50fSopenharmony_ci    defines += [ "POWER_MANAGER_ENABLE" ]
148e0dac50fSopenharmony_ci  }
149e0dac50fSopenharmony_ci
150e0dac50fSopenharmony_ci  if (defined(global_parts_info) &&
151e0dac50fSopenharmony_ci      defined(global_parts_info.powermgr_display_manager)) {
152e0dac50fSopenharmony_ci    external_deps += [ "display_manager:displaymgr" ]
153e0dac50fSopenharmony_ci    defines += [ "POWERMGR_DISPLAY_MANAGER_ENABLE" ]
154e0dac50fSopenharmony_ci  }
155e0dac50fSopenharmony_ci
156e0dac50fSopenharmony_ci  if (defined(global_parts_info) &&
157e0dac50fSopenharmony_ci      defined(global_parts_info.resourceschedule_soc_perf)) {
158e0dac50fSopenharmony_ci    external_deps += [ "resource_schedule_service:ressched_client" ]
159e0dac50fSopenharmony_ci    defines += [ "RES_SCHED_ENABLE" ]
160e0dac50fSopenharmony_ci  }
161e0dac50fSopenharmony_ci
162e0dac50fSopenharmony_ci  if (defined(global_parts_info) &&
163e0dac50fSopenharmony_ci      defined(global_parts_info.security_security_component_manager)) {
164e0dac50fSopenharmony_ci    external_deps += [ "security_component_manager:libsecurity_component_sdk" ]
165e0dac50fSopenharmony_ci    defines += [ "SECURITY_COMPONENT_MANAGER_ENABLE" ]
166e0dac50fSopenharmony_ci  }
167e0dac50fSopenharmony_ci
168e0dac50fSopenharmony_ci  if (!defined(global_parts_info) ||
169e0dac50fSopenharmony_ci      defined(global_parts_info.inputmethod_imf)) {
170e0dac50fSopenharmony_ci    imf_enable = true
171e0dac50fSopenharmony_ci  } else {
172e0dac50fSopenharmony_ci    imf_enable = false
173e0dac50fSopenharmony_ci  }
174e0dac50fSopenharmony_ci  print("imf_enable: ", imf_enable)
175e0dac50fSopenharmony_ci  if (imf_enable == true) {
176e0dac50fSopenharmony_ci    external_deps += [ "imf:inputmethod_client" ]
177e0dac50fSopenharmony_ci    defines += [ "IMF_ENABLE" ]
178e0dac50fSopenharmony_ci  }
179e0dac50fSopenharmony_ci
180e0dac50fSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
181e0dac50fSopenharmony_ci  part_name = "window_manager"
182e0dac50fSopenharmony_ci  subsystem_name = "window"
183e0dac50fSopenharmony_ci
184e0dac50fSopenharmony_ci  if (build_variant == "user") {
185e0dac50fSopenharmony_ci    defines += [ "IS_RELEASE_VERSION" ]
186e0dac50fSopenharmony_ci  }
187e0dac50fSopenharmony_ci}
188e0dac50fSopenharmony_ci
189e0dac50fSopenharmony_ciohos_shared_library("session_manager") {
190e0dac50fSopenharmony_ci  branch_protector_ret = "pac_ret"
191e0dac50fSopenharmony_ci  sanitize = {
192e0dac50fSopenharmony_ci    cfi = true
193e0dac50fSopenharmony_ci    cfi_cross_dso = true
194e0dac50fSopenharmony_ci    cfi_vcall_icall_only = true
195e0dac50fSopenharmony_ci    debug = false
196e0dac50fSopenharmony_ci  }
197e0dac50fSopenharmony_ci  sources = [
198e0dac50fSopenharmony_ci    "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp",
199e0dac50fSopenharmony_ci    "../session_manager_service/src/session_manager_service_proxy.cpp",
200e0dac50fSopenharmony_ci    "src/session_manager.cpp",
201e0dac50fSopenharmony_ci    "src/zidl/scene_session_manager_proxy.cpp",
202e0dac50fSopenharmony_ci  ]
203e0dac50fSopenharmony_ci
204e0dac50fSopenharmony_ci  cflags_cc = [ "-std=c++17" ]
205e0dac50fSopenharmony_ci
206e0dac50fSopenharmony_ci  public_configs = [ ":session_manager_public_config" ]
207e0dac50fSopenharmony_ci
208e0dac50fSopenharmony_ci  deps = [
209e0dac50fSopenharmony_ci    ":session_manager_lite",
210e0dac50fSopenharmony_ci    "${window_base_path}/utils:libwmutil",
211e0dac50fSopenharmony_ci    "${window_base_path}/utils:libwmutil_base",
212e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/common:window_scene_common",
213e0dac50fSopenharmony_ci  ]
214e0dac50fSopenharmony_ci  public_external_deps = [
215e0dac50fSopenharmony_ci    "ability_runtime:session_handler",
216e0dac50fSopenharmony_ci    "accessibility:accessibility_common",
217e0dac50fSopenharmony_ci    "graphic_2d:librender_service_client",
218e0dac50fSopenharmony_ci    "graphic_2d:window_animation",
219e0dac50fSopenharmony_ci    "input:libmmi-client",
220e0dac50fSopenharmony_ci    "input:libmmi-napi",
221e0dac50fSopenharmony_ci  ]
222e0dac50fSopenharmony_ci  external_deps = [
223e0dac50fSopenharmony_ci    "ability_base:session_info",
224e0dac50fSopenharmony_ci    "ability_base:want",
225e0dac50fSopenharmony_ci    "ability_runtime:ability_manager",
226e0dac50fSopenharmony_ci    "ability_runtime:app_manager",
227e0dac50fSopenharmony_ci    "ability_runtime:mission_info",
228e0dac50fSopenharmony_ci    "c_utils:utils",
229e0dac50fSopenharmony_ci    "graphic_2d:librender_service_client",
230e0dac50fSopenharmony_ci    "hilog:libhilog",
231e0dac50fSopenharmony_ci    "image_framework:image_native",
232e0dac50fSopenharmony_ci    "ipc:ipc_single",
233e0dac50fSopenharmony_ci    "safwk:system_ability_fwk",
234e0dac50fSopenharmony_ci    "samgr:samgr_proxy",
235e0dac50fSopenharmony_ci  ]
236e0dac50fSopenharmony_ci
237e0dac50fSopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
238e0dac50fSopenharmony_ci  part_name = "window_manager"
239e0dac50fSopenharmony_ci  subsystem_name = "window"
240e0dac50fSopenharmony_ci
241e0dac50fSopenharmony_ci  defines = []
242e0dac50fSopenharmony_ci  if (build_variant == "user") {
243e0dac50fSopenharmony_ci    defines += [ "IS_RELEASE_VERSION" ]
244e0dac50fSopenharmony_ci  }
245e0dac50fSopenharmony_ci}
246e0dac50fSopenharmony_ci
247e0dac50fSopenharmony_ciohos_shared_library("session_manager_lite") {
248e0dac50fSopenharmony_ci  branch_protector_ret = "pac_ret"
249e0dac50fSopenharmony_ci  sanitize = {
250e0dac50fSopenharmony_ci    cfi = true
251e0dac50fSopenharmony_ci    cfi_cross_dso = true
252e0dac50fSopenharmony_ci    cfi_vcall_icall_only = true
253e0dac50fSopenharmony_ci    debug = false
254e0dac50fSopenharmony_ci  }
255e0dac50fSopenharmony_ci  sources = [
256e0dac50fSopenharmony_ci    "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp",
257e0dac50fSopenharmony_ci    "../session_manager_service/src/session_manager_service_proxy.cpp",
258e0dac50fSopenharmony_ci    "src/session_manager_lite.cpp",
259e0dac50fSopenharmony_ci    "src/zidl/scene_session_manager_lite_proxy.cpp",
260e0dac50fSopenharmony_ci  ]
261e0dac50fSopenharmony_ci
262e0dac50fSopenharmony_ci  cflags_cc = [ "-std=c++17" ]
263e0dac50fSopenharmony_ci
264e0dac50fSopenharmony_ci  public_configs = [ ":session_manager_public_config" ]
265e0dac50fSopenharmony_ci
266e0dac50fSopenharmony_ci  deps = [
267e0dac50fSopenharmony_ci    "${window_base_path}/utils:libwmutil_base",
268e0dac50fSopenharmony_ci    "${window_base_path}/window_scene/common:window_scene_common",
269e0dac50fSopenharmony_ci  ]
270e0dac50fSopenharmony_ci
271e0dac50fSopenharmony_ci  public_external_deps = [
272e0dac50fSopenharmony_ci    "ability_runtime:session_handler",
273e0dac50fSopenharmony_ci    "accessibility:accessibility_common",
274e0dac50fSopenharmony_ci    "input:libmmi-napi",
275e0dac50fSopenharmony_ci  ]
276e0dac50fSopenharmony_ci
277e0dac50fSopenharmony_ci  external_deps = [
278e0dac50fSopenharmony_ci    "ability_base:session_info",
279e0dac50fSopenharmony_ci    "ability_base:want",
280e0dac50fSopenharmony_ci    "ability_runtime:mission_info",
281e0dac50fSopenharmony_ci    "c_utils:utils",
282e0dac50fSopenharmony_ci    "hilog:libhilog",
283e0dac50fSopenharmony_ci    "ipc:ipc_single",
284e0dac50fSopenharmony_ci    "samgr:samgr_proxy",
285e0dac50fSopenharmony_ci  ]
286e0dac50fSopenharmony_ci
287e0dac50fSopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
288e0dac50fSopenharmony_ci  part_name = "window_manager"
289e0dac50fSopenharmony_ci  subsystem_name = "window"
290e0dac50fSopenharmony_ci
291e0dac50fSopenharmony_ci  defines = []
292e0dac50fSopenharmony_ci  if (build_variant == "user") {
293e0dac50fSopenharmony_ci    defines += [ "IS_RELEASE_VERSION" ]
294e0dac50fSopenharmony_ci  }
295e0dac50fSopenharmony_ci}
296