• 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")
16config("libwmutil_private_config") {
17  include_dirs = [
18    "include",
19    "../dmserver/include",
20    "../interfaces/innerkits/dm",
21    "../interfaces/innerkits/wm",
22  ]
23}
24
25config("libwmutil_public_config") {
26  include_dirs = [
27    "include",
28    "//foundation/multimodalinput/input/interfaces/native/innerkits/event/include",
29  ]
30}
31
32## build libwmutil_static.a
33ohos_static_library("libwmutil_static") {
34  branch_protector_ret = "pac_ret"
35  sanitize = {
36    cfi = true
37    cfi_cross_dso = true
38    debug = false
39  }
40  sources = [
41    "src/accessibility_window_info.cpp",
42    "src/agent_death_recipient.cpp",
43    "src/color_parser.cpp",
44    "src/cutout_info.cpp",
45    "src/display_change_info.cpp",
46    "src/display_info.cpp",
47    "src/perform_reporter.cpp",
48    "src/permission.cpp",
49    "src/persistent_storage.cpp",
50    "src/pip_report.cpp",
51    "src/pip_util.cpp",
52    "src/screen_group_info.cpp",
53    "src/screen_info.cpp",
54    "src/screenshot_info.cpp",
55    "src/singleton_container.cpp",
56    "src/string_util.cpp",
57    "src/surface_draw.cpp",
58    "src/surface_reader.cpp",
59    "src/surface_reader_handler_impl.cpp",
60    "src/sys_cap_util.cpp",
61    "src/window_drawing_content_info.cpp",
62    "src/window_property.cpp",
63    "src/window_transition_info.cpp",
64    "src/window_visibility_info.cpp",
65    "src/wm_math.cpp",
66    "src/wm_occlusion_region.cpp",
67    "src/xml_config_base.cpp",
68  ]
69
70  configs = [
71    ":libwmutil_private_config",
72    "${window_base_path}/resources/config/build:coverage_flags",
73  ]
74
75  public_configs = [ ":libwmutil_public_config" ]
76
77  deps = [
78    "${graphic_base_path}/graphic_2d/rosen/modules/2d_graphics:2d_graphics",
79  ]
80
81  external_deps = [
82    "ability_base:want",
83    "ability_runtime:ability_manager",
84    "access_token:libaccesstoken_sdk",
85    "access_token:libtokenid_sdk",
86    "bundle_framework:appexecfwk_base",
87    "bundle_framework:appexecfwk_core",
88    "c_utils:utils",
89    "graphic_2d:librender_service_client",
90    "graphic_surface:surface",
91    "hilog:libhilog",
92    "hisysevent:libhisysevent",
93    "hitrace:hitrace_meter",
94    "image_framework:image_native",
95    "input:libmmi-client",
96    "ipc:ipc_single",
97    "preferences:native_preferences",
98    "samgr:samgr_proxy",
99  ]
100
101  part_name = "window_manager"
102  subsystem_name = "window"
103}
104
105## Build libwmutil_base.so
106ohos_shared_library("libwmutil_base") {
107  branch_protector_ret = "pac_ret"
108  sanitize = {
109    cfi = true
110    cfi_cross_dso = true
111    debug = false
112  }
113  sources = [
114    "src/accessibility_window_info.cpp",
115    "src/agent_death_recipient.cpp",
116    "src/color_parser.cpp",
117    "src/cutout_info.cpp",
118    "src/display_change_info.cpp",
119    "src/display_info.cpp",
120    "src/screen_group_info.cpp",
121    "src/screen_info.cpp",
122    "src/screenshot_info.cpp",
123    "src/singleton_container.cpp",
124    "src/string_util.cpp",
125    "src/window_drawing_content_info.cpp",
126    "src/window_visibility_info.cpp",
127    "src/wm_math.cpp",
128    "src/wm_occlusion_region.cpp",
129    "src/xml_config_base.cpp",
130  ]
131
132  configs = [ ":libwmutil_private_config" ]
133
134  external_deps = [
135    "c_utils:utils",
136    "hilog:libhilog",
137    "ipc:ipc_single",
138  ]
139
140  innerapi_tags = [ "platformsdk" ]
141  part_name = "window_manager"
142  subsystem_name = "window"
143}
144
145## Build libwmutil.so
146ohos_shared_library("libwmutil") {
147  sources = [
148    "src/perform_reporter.cpp",
149    "src/permission.cpp",
150    "src/persistent_storage.cpp",
151    "src/pip_report.cpp",
152    "src/pip_util.cpp",
153    "src/screen_group_info.cpp",
154    "src/screen_info.cpp",
155    "src/surface_draw.cpp",
156    "src/surface_reader.cpp",
157    "src/surface_reader_handler_impl.cpp",
158    "src/sys_cap_util.cpp",
159    "src/window_property.cpp",
160    "src/window_transition_info.cpp",
161  ]
162
163  configs = [
164    ":libwmutil_private_config",
165    "../resources/config/build:coverage_flags",
166  ]
167
168  public_configs = [ ":libwmutil_public_config" ]
169
170  public_deps = [ ":libwmutil_base" ]
171
172  external_deps = [
173    "ability_base:want",
174    "ability_runtime:ability_start_setting",
175    "access_token:libaccesstoken_sdk",
176    "access_token:libtokenid_sdk",
177    "bundle_framework:appexecfwk_base",
178    "bundle_framework:appexecfwk_core",
179    "c_utils:utils",
180    "graphic_2d:2d_graphics",
181    "graphic_2d:librender_service_client",
182    "graphic_surface:surface",
183    "hilog:libhilog",
184    "hisysevent:libhisysevent",
185    "hitrace:hitrace_meter",
186    "image_framework:image_native",
187    "input:libmmi-client",
188    "ipc:ipc_single",
189    "preferences:native_preferences",
190    "samgr:samgr_proxy",
191  ]
192
193  innerapi_tags = [ "platformsdk" ]
194  part_name = "window_manager"
195  subsystem_name = "window"
196}
197
198group("test") {
199  testonly = true
200  deps = [ "test:test" ]
201}
202