1e0dac50fSopenharmony_ci# Copyright (c) 2021-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("window_manager_napi_config") {
18e0dac50fSopenharmony_ci  visibility = [ ":*" ]
19e0dac50fSopenharmony_ci
20e0dac50fSopenharmony_ci  include_dirs = [
21e0dac50fSopenharmony_ci    "window_napi",
22e0dac50fSopenharmony_ci    "window_manager_napi",
23e0dac50fSopenharmony_ci    "../../../innerkits/wm",
24e0dac50fSopenharmony_ci    "../../../innerkits/dm",
25e0dac50fSopenharmony_ci    "../../../../wm/include",
26e0dac50fSopenharmony_ci    "../../../../utils/include",
27e0dac50fSopenharmony_ci  ]
28e0dac50fSopenharmony_ci}
29e0dac50fSopenharmony_ci
30e0dac50fSopenharmony_ciconfig("window_native_kit_config") {
31e0dac50fSopenharmony_ci  visibility = [ ":*" ]
32e0dac50fSopenharmony_ci
33e0dac50fSopenharmony_ci  include_dirs = [
34e0dac50fSopenharmony_ci    "window_napi",
35e0dac50fSopenharmony_ci    "../../../innerkits/wm",
36e0dac50fSopenharmony_ci    "../../../innerkits/dm",
37e0dac50fSopenharmony_ci    "../../../../utils/include",
38e0dac50fSopenharmony_ci    "../../../../wm/include",
39e0dac50fSopenharmony_ci    "../../../../wmserver/include",
40e0dac50fSopenharmony_ci  ]
41e0dac50fSopenharmony_ci}
42e0dac50fSopenharmony_ci
43e0dac50fSopenharmony_ciconfig("window_native_kit_public_config") {
44e0dac50fSopenharmony_ci  visibility = [ ":*" ]
45e0dac50fSopenharmony_ci
46e0dac50fSopenharmony_ci  include_dirs = [ "window_napi" ]
47e0dac50fSopenharmony_ci}
48e0dac50fSopenharmony_ci
49e0dac50fSopenharmony_ciohos_shared_library("window_native_kit") {
50e0dac50fSopenharmony_ci  branch_protector_ret = "pac_ret"
51e0dac50fSopenharmony_ci  sanitize = {
52e0dac50fSopenharmony_ci    cfi = true
53e0dac50fSopenharmony_ci    cfi_cross_dso = true
54e0dac50fSopenharmony_ci    cfi_vcall_icall_only = true
55e0dac50fSopenharmony_ci    debug = false
56e0dac50fSopenharmony_ci  }
57e0dac50fSopenharmony_ci  sources = [
58e0dac50fSopenharmony_ci    "window_napi/js_extension_window_config.cpp",
59e0dac50fSopenharmony_ci    "window_napi/js_transition_controller.cpp",
60e0dac50fSopenharmony_ci    "window_napi/js_window.cpp",
61e0dac50fSopenharmony_ci    "window_napi/js_window_listener.cpp",
62e0dac50fSopenharmony_ci    "window_napi/js_window_register_manager.cpp",
63e0dac50fSopenharmony_ci    "window_napi/js_window_utils.cpp",
64e0dac50fSopenharmony_ci  ]
65e0dac50fSopenharmony_ci
66e0dac50fSopenharmony_ci  public_configs = [ ":window_native_kit_public_config" ]
67e0dac50fSopenharmony_ci
68e0dac50fSopenharmony_ci  configs = [
69e0dac50fSopenharmony_ci    ":window_native_kit_config",
70e0dac50fSopenharmony_ci    "../../../../resources/config/build:coverage_flags",
71e0dac50fSopenharmony_ci  ]
72e0dac50fSopenharmony_ci
73e0dac50fSopenharmony_ci  deps = [
74e0dac50fSopenharmony_ci    "../../../../utils:libwmutil",
75e0dac50fSopenharmony_ci    "../../../../utils:libwmutil_base",
76e0dac50fSopenharmony_ci    "../../../../wm:libwm",
77e0dac50fSopenharmony_ci    "../common:wm_napi_util",
78e0dac50fSopenharmony_ci  ]
79e0dac50fSopenharmony_ci
80e0dac50fSopenharmony_ci  external_deps = [
81e0dac50fSopenharmony_ci    "ability_runtime:ability_manager",
82e0dac50fSopenharmony_ci    "ability_runtime:dialog_request_info",
83e0dac50fSopenharmony_ci    "ability_runtime:extensionkit_native",
84e0dac50fSopenharmony_ci    "ability_runtime:runtime",
85e0dac50fSopenharmony_ci    "access_token:libaccesstoken_sdk",
86e0dac50fSopenharmony_ci    "ace_engine:ace_uicontent",
87e0dac50fSopenharmony_ci    "bundle_framework:appexecfwk_base",
88e0dac50fSopenharmony_ci    "c_utils:utils",
89e0dac50fSopenharmony_ci    "eventhandler:libeventhandler",
90e0dac50fSopenharmony_ci    "hilog:libhilog",
91e0dac50fSopenharmony_ci    "hitrace:hitrace_meter",
92e0dac50fSopenharmony_ci    "image_framework:image",
93e0dac50fSopenharmony_ci    "image_framework:image_native",
94e0dac50fSopenharmony_ci    "ipc:ipc_napi",
95e0dac50fSopenharmony_ci    "ipc:ipc_single",
96e0dac50fSopenharmony_ci    "napi:ace_napi",
97e0dac50fSopenharmony_ci  ]
98e0dac50fSopenharmony_ci
99e0dac50fSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
100e0dac50fSopenharmony_ci  part_name = "window_manager"
101e0dac50fSopenharmony_ci  subsystem_name = "window"
102e0dac50fSopenharmony_ci
103e0dac50fSopenharmony_ci  defines = []
104e0dac50fSopenharmony_ci  if (build_variant == "user") {
105e0dac50fSopenharmony_ci    defines += [ "IS_RELEASE_VERSION" ]
106e0dac50fSopenharmony_ci  }
107e0dac50fSopenharmony_ci}
108e0dac50fSopenharmony_ci
109e0dac50fSopenharmony_ciohos_shared_library("window_napi") {
110e0dac50fSopenharmony_ci  branch_protector_ret = "pac_ret"
111e0dac50fSopenharmony_ci  sanitize = {
112e0dac50fSopenharmony_ci    cfi = true
113e0dac50fSopenharmony_ci    cfi_cross_dso = true
114e0dac50fSopenharmony_ci    cfi_vcall_icall_only = true
115e0dac50fSopenharmony_ci    debug = false
116e0dac50fSopenharmony_ci  }
117e0dac50fSopenharmony_ci  sources = [
118e0dac50fSopenharmony_ci    "window_manager_napi/js_window_manager.cpp",
119e0dac50fSopenharmony_ci    "window_manager_napi/window_manager_module.cpp",
120e0dac50fSopenharmony_ci  ]
121e0dac50fSopenharmony_ci
122e0dac50fSopenharmony_ci  configs = [
123e0dac50fSopenharmony_ci    ":window_manager_napi_config",
124e0dac50fSopenharmony_ci    "../../../../resources/config/build:coverage_flags",
125e0dac50fSopenharmony_ci  ]
126e0dac50fSopenharmony_ci
127e0dac50fSopenharmony_ci  deps = [
128e0dac50fSopenharmony_ci    ":window_native_kit",
129e0dac50fSopenharmony_ci    "../../../../dm:libdm",
130e0dac50fSopenharmony_ci    "../../../../utils:libwmutil",
131e0dac50fSopenharmony_ci    "../../../../utils:libwmutil_base",
132e0dac50fSopenharmony_ci    "../../../../wm:libwm",
133e0dac50fSopenharmony_ci    "../common:wm_napi_util",
134e0dac50fSopenharmony_ci  ]
135e0dac50fSopenharmony_ci
136e0dac50fSopenharmony_ci  external_deps = [
137e0dac50fSopenharmony_ci    "ability_runtime:ability_context_native",
138e0dac50fSopenharmony_ci    "ability_runtime:abilitykit_native",
139e0dac50fSopenharmony_ci    "ability_runtime:runtime",
140e0dac50fSopenharmony_ci    "c_utils:utils",
141e0dac50fSopenharmony_ci    "common_event_service:cesfwk_innerkits",
142e0dac50fSopenharmony_ci    "graphic_2d:librender_service_client",
143e0dac50fSopenharmony_ci    "hilog:libhilog",
144e0dac50fSopenharmony_ci    "hitrace:hitrace_meter",
145e0dac50fSopenharmony_ci    "image_framework:image",
146e0dac50fSopenharmony_ci    "napi:ace_napi",
147e0dac50fSopenharmony_ci  ]
148e0dac50fSopenharmony_ci
149e0dac50fSopenharmony_ci  relative_install_dir = "module"
150e0dac50fSopenharmony_ci
151e0dac50fSopenharmony_ci  part_name = "window_manager"
152e0dac50fSopenharmony_ci  subsystem_name = "window"
153e0dac50fSopenharmony_ci}
154e0dac50fSopenharmony_ci
155e0dac50fSopenharmony_ciohos_shared_library("windowstage_kit") {
156e0dac50fSopenharmony_ci  branch_protector_ret = "pac_ret"
157e0dac50fSopenharmony_ci  sanitize = {
158e0dac50fSopenharmony_ci    cfi = true
159e0dac50fSopenharmony_ci    cfi_cross_dso = true
160e0dac50fSopenharmony_ci    cfi_vcall_icall_only = true
161e0dac50fSopenharmony_ci    debug = false
162e0dac50fSopenharmony_ci  }
163e0dac50fSopenharmony_ci  sources = [ "window_stage_napi/js_window_stage.cpp" ]
164e0dac50fSopenharmony_ci
165e0dac50fSopenharmony_ci  configs = [
166e0dac50fSopenharmony_ci    ":window_native_kit_config",
167e0dac50fSopenharmony_ci    "../../../../resources/config/build:coverage_flags",
168e0dac50fSopenharmony_ci  ]
169e0dac50fSopenharmony_ci
170e0dac50fSopenharmony_ci  include_dirs = [ "window_stage_napi" ]
171e0dac50fSopenharmony_ci  deps = [
172e0dac50fSopenharmony_ci    ":window_native_kit",
173e0dac50fSopenharmony_ci    "../../../../utils:libwmutil",
174e0dac50fSopenharmony_ci    "../../../../utils:libwmutil_base",
175e0dac50fSopenharmony_ci    "../../../../wm:libwm",
176e0dac50fSopenharmony_ci    "../common:wm_napi_util",
177e0dac50fSopenharmony_ci  ]
178e0dac50fSopenharmony_ci
179e0dac50fSopenharmony_ci  external_deps = [
180e0dac50fSopenharmony_ci    "ability_runtime:runtime",
181e0dac50fSopenharmony_ci    "c_utils:utils",
182e0dac50fSopenharmony_ci    "hilog:libhilog",
183e0dac50fSopenharmony_ci    "napi:ace_napi",
184e0dac50fSopenharmony_ci  ]
185e0dac50fSopenharmony_ci
186e0dac50fSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
187e0dac50fSopenharmony_ci  part_name = "window_manager"
188e0dac50fSopenharmony_ci  subsystem_name = "window"
189e0dac50fSopenharmony_ci}
190