1e0dac50fSopenharmony_ci# Copyright (c) 2022 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_ci## Build libdms.so 18e0dac50fSopenharmony_ciconfig("libdms_private_config") { 19e0dac50fSopenharmony_ci include_dirs = [ 20e0dac50fSopenharmony_ci "../dm/include", 21e0dac50fSopenharmony_ci "../interfaces/innerkits/dm", 22e0dac50fSopenharmony_ci ] 23e0dac50fSopenharmony_ci} 24e0dac50fSopenharmony_ci 25e0dac50fSopenharmony_ciconfig("libdms_public_config") { 26e0dac50fSopenharmony_ci include_dirs = [ "include" ] 27e0dac50fSopenharmony_ci} 28e0dac50fSopenharmony_ci 29e0dac50fSopenharmony_ciohos_shared_library("libdms") { 30e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 31e0dac50fSopenharmony_ci sanitize = { 32e0dac50fSopenharmony_ci cfi = true 33e0dac50fSopenharmony_ci cfi_cross_dso = true 34e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 35e0dac50fSopenharmony_ci debug = false 36e0dac50fSopenharmony_ci } 37e0dac50fSopenharmony_ci sources = [ 38e0dac50fSopenharmony_ci "../dm/src/zidl/display_manager_agent_proxy.cpp", 39e0dac50fSopenharmony_ci "src/abstract_display.cpp", 40e0dac50fSopenharmony_ci "src/abstract_display_controller.cpp", 41e0dac50fSopenharmony_ci "src/abstract_screen.cpp", 42e0dac50fSopenharmony_ci "src/abstract_screen_controller.cpp", 43e0dac50fSopenharmony_ci "src/display_cutout_controller.cpp", 44e0dac50fSopenharmony_ci "src/display_dumper.cpp", 45e0dac50fSopenharmony_ci "src/display_manager_agent_controller.cpp", 46e0dac50fSopenharmony_ci "src/display_manager_config.cpp", 47e0dac50fSopenharmony_ci "src/display_manager_service.cpp", 48e0dac50fSopenharmony_ci "src/display_manager_service_inner.cpp", 49e0dac50fSopenharmony_ci "src/display_manager_stub.cpp", 50e0dac50fSopenharmony_ci "src/display_power_controller.cpp", 51e0dac50fSopenharmony_ci "src/screen_rotation_controller.cpp", 52e0dac50fSopenharmony_ci "src/sensor_connector.cpp", 53e0dac50fSopenharmony_ci ] 54e0dac50fSopenharmony_ci 55e0dac50fSopenharmony_ci configs = [ 56e0dac50fSopenharmony_ci ":libdms_private_config", 57e0dac50fSopenharmony_ci "../resources/config/build:coverage_flags", 58e0dac50fSopenharmony_ci ] 59e0dac50fSopenharmony_ci 60e0dac50fSopenharmony_ci public_configs = [ ":libdms_public_config" ] 61e0dac50fSopenharmony_ci 62e0dac50fSopenharmony_ci deps = [ 63e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil_base", 64e0dac50fSopenharmony_ci "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 65e0dac50fSopenharmony_ci "../utils:libwmutil", 66e0dac50fSopenharmony_ci ] 67e0dac50fSopenharmony_ci 68e0dac50fSopenharmony_ci external_deps = [ 69e0dac50fSopenharmony_ci "c_utils:utils", 70e0dac50fSopenharmony_ci "config_policy:configpolicy_util", 71e0dac50fSopenharmony_ci "eventhandler:libeventhandler", 72e0dac50fSopenharmony_ci "graphic_2d:librender_service_client", 73e0dac50fSopenharmony_ci "graphic_surface:surface", 74e0dac50fSopenharmony_ci "hilog:libhilog", 75e0dac50fSopenharmony_ci "hitrace:hitrace_meter", 76e0dac50fSopenharmony_ci "ipc:ipc_single", 77e0dac50fSopenharmony_ci "libxml2:libxml2", 78e0dac50fSopenharmony_ci "safwk:system_ability_fwk", 79e0dac50fSopenharmony_ci ] 80e0dac50fSopenharmony_ci 81e0dac50fSopenharmony_ci defines = [] 82e0dac50fSopenharmony_ci if (window_manager_feature_subscribe_motion) { 83e0dac50fSopenharmony_ci if (defined(global_parts_info) && defined(global_parts_info.msdp_motion)) { 84e0dac50fSopenharmony_ci external_deps += [ "motion:motion_interface_native" ] 85e0dac50fSopenharmony_ci defines += [ "WM_SUBSCRIBE_MOTION_ENABLE" ] 86e0dac50fSopenharmony_ci } 87e0dac50fSopenharmony_ci } 88e0dac50fSopenharmony_ci 89e0dac50fSopenharmony_ci if (is_standard_system) { 90e0dac50fSopenharmony_ci external_deps += [ "init:libbegetutil" ] 91e0dac50fSopenharmony_ci } else { 92e0dac50fSopenharmony_ci external_deps += [ "init_lite:libbegetutil" ] 93e0dac50fSopenharmony_ci } 94e0dac50fSopenharmony_ci 95e0dac50fSopenharmony_ci if (defined(global_parts_info) && 96e0dac50fSopenharmony_ci defined(global_parts_info.resourceschedule_soc_perf)) { 97e0dac50fSopenharmony_ci external_deps += [ "soc_perf:socperf_client" ] 98e0dac50fSopenharmony_ci defines += [ "SOC_PERF_ENABLE" ] 99e0dac50fSopenharmony_ci } 100e0dac50fSopenharmony_ci 101e0dac50fSopenharmony_ci if (defined(global_parts_info) && defined(global_parts_info.sensors_sensor)) { 102e0dac50fSopenharmony_ci external_deps += [ "sensor:sensor_interface_native" ] 103e0dac50fSopenharmony_ci defines += [ "SENSOR_ENABLE" ] 104e0dac50fSopenharmony_ci } 105e0dac50fSopenharmony_ci 106e0dac50fSopenharmony_ci part_name = "window_manager" 107e0dac50fSopenharmony_ci subsystem_name = "window" 108e0dac50fSopenharmony_ci 109e0dac50fSopenharmony_ci if (build_variant == "user") { 110e0dac50fSopenharmony_ci defines += [ "IS_RELEASE_VERSION" ] 111e0dac50fSopenharmony_ci } 112e0dac50fSopenharmony_ci} 113e0dac50fSopenharmony_ci 114e0dac50fSopenharmony_cigroup("test") { 115e0dac50fSopenharmony_ci testonly = true 116e0dac50fSopenharmony_ci deps = [ "test:test" ] 117e0dac50fSopenharmony_ci} 118