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