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