1e0dac50fSopenharmony_ci# Copyright (c) 2022-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("libwindow_extension_private_config") { 18e0dac50fSopenharmony_ci visibility = [ ":*" ] 19e0dac50fSopenharmony_ci 20e0dac50fSopenharmony_ci include_dirs = [ 21e0dac50fSopenharmony_ci "include", 22e0dac50fSopenharmony_ci "include/zidl", 23e0dac50fSopenharmony_ci "../extension_connection/include", 24e0dac50fSopenharmony_ci "../extension_connection/include/zidl", 25e0dac50fSopenharmony_ci "../../interfaces/kits/napi/window_runtime/window_napi", 26e0dac50fSopenharmony_ci "../../interfaces/innerkits/extension", 27e0dac50fSopenharmony_ci "../../interfaces/innerkits/wm", 28e0dac50fSopenharmony_ci "../../window_scene/interfaces/innerkits/include", 29e0dac50fSopenharmony_ci ] 30e0dac50fSopenharmony_ci} 31e0dac50fSopenharmony_ci 32e0dac50fSopenharmony_ci## Build libwindow_extension.so 33e0dac50fSopenharmony_ciohos_shared_library("libwindow_extension") { 34e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 35e0dac50fSopenharmony_ci sanitize = { 36e0dac50fSopenharmony_ci cfi = true 37e0dac50fSopenharmony_ci cfi_cross_dso = true 38e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 39e0dac50fSopenharmony_ci debug = false 40e0dac50fSopenharmony_ci } 41e0dac50fSopenharmony_ci sources = [ 42e0dac50fSopenharmony_ci "../extension_connection/src/zidl/window_extension_client_proxy.cpp", 43e0dac50fSopenharmony_ci "src/js_window_extension.cpp", 44e0dac50fSopenharmony_ci "src/js_window_extension_context.cpp", 45e0dac50fSopenharmony_ci "src/window_extension.cpp", 46e0dac50fSopenharmony_ci "src/window_extension_context.cpp", 47e0dac50fSopenharmony_ci "src/window_extension_stub_impl.cpp", 48e0dac50fSopenharmony_ci "src/zidl/window_extension_stub.cpp", 49e0dac50fSopenharmony_ci ] 50e0dac50fSopenharmony_ci 51e0dac50fSopenharmony_ci configs = [ 52e0dac50fSopenharmony_ci ":libwindow_extension_private_config", 53e0dac50fSopenharmony_ci "../../resources/config/build:coverage_flags", 54e0dac50fSopenharmony_ci ] 55e0dac50fSopenharmony_ci 56e0dac50fSopenharmony_ci deps = [ 57e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil", 58e0dac50fSopenharmony_ci "../../interfaces/kits/napi/window_runtime:window_native_kit", 59e0dac50fSopenharmony_ci "../../utils:libwmutil_base", 60e0dac50fSopenharmony_ci "../../window_scene/interfaces/innerkits:libwsutils", 61e0dac50fSopenharmony_ci "../../wm:libwm", 62e0dac50fSopenharmony_ci ] 63e0dac50fSopenharmony_ci 64e0dac50fSopenharmony_ci external_deps = [ 65e0dac50fSopenharmony_ci "ability_base:want", 66e0dac50fSopenharmony_ci "ability_runtime:ability_connect_callback_stub", 67e0dac50fSopenharmony_ci "ability_runtime:ability_context_native", 68e0dac50fSopenharmony_ci "ability_runtime:ability_manager", 69e0dac50fSopenharmony_ci "ability_runtime:ability_start_options", 70e0dac50fSopenharmony_ci "ability_runtime:app_context", 71e0dac50fSopenharmony_ci "ability_runtime:extensionkit_native", 72e0dac50fSopenharmony_ci "ability_runtime:napi_common", 73e0dac50fSopenharmony_ci "ability_runtime:runtime", 74e0dac50fSopenharmony_ci "c_utils:utils", 75e0dac50fSopenharmony_ci "common_event_service:cesfwk_innerkits", 76e0dac50fSopenharmony_ci "eventhandler:libeventhandler", 77e0dac50fSopenharmony_ci "graphic_2d:librender_service_client", 78e0dac50fSopenharmony_ci "hilog:libhilog", 79e0dac50fSopenharmony_ci "hitrace:hitrace_meter", 80e0dac50fSopenharmony_ci "input:libmmi-client", 81e0dac50fSopenharmony_ci "ipc:ipc_single", 82e0dac50fSopenharmony_ci "napi:ace_napi", 83e0dac50fSopenharmony_ci ] 84e0dac50fSopenharmony_ci 85e0dac50fSopenharmony_ci part_name = "window_manager" 86e0dac50fSopenharmony_ci subsystem_name = "window" 87e0dac50fSopenharmony_ci 88e0dac50fSopenharmony_ci defines = [] 89e0dac50fSopenharmony_ci if (build_variant == "user") { 90e0dac50fSopenharmony_ci defines += [ "IS_RELEASE_VERSION" ] 91e0dac50fSopenharmony_ci } 92e0dac50fSopenharmony_ci} 93e0dac50fSopenharmony_ci 94e0dac50fSopenharmony_ciconfig("window_extension_module_private_config") { 95e0dac50fSopenharmony_ci visibility = [ ":*" ] 96e0dac50fSopenharmony_ci 97e0dac50fSopenharmony_ci include_dirs = [ "include" ] 98e0dac50fSopenharmony_ci} 99e0dac50fSopenharmony_ci 100e0dac50fSopenharmony_ci## Build libwindow_extension_module.so 101e0dac50fSopenharmony_ciohos_shared_library("window_extension_module") { 102e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 103e0dac50fSopenharmony_ci sanitize = { 104e0dac50fSopenharmony_ci cfi = true 105e0dac50fSopenharmony_ci cfi_cross_dso = true 106e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 107e0dac50fSopenharmony_ci debug = false 108e0dac50fSopenharmony_ci } 109e0dac50fSopenharmony_ci sources = [ "src/window_extension_module_loader.cpp" ] 110e0dac50fSopenharmony_ci 111e0dac50fSopenharmony_ci configs = [ 112e0dac50fSopenharmony_ci ":window_extension_module_private_config", 113e0dac50fSopenharmony_ci "../../resources/config/build:coverage_flags", 114e0dac50fSopenharmony_ci ] 115e0dac50fSopenharmony_ci 116e0dac50fSopenharmony_ci deps = [ ":libwindow_extension" ] 117e0dac50fSopenharmony_ci 118e0dac50fSopenharmony_ci external_deps = [ 119e0dac50fSopenharmony_ci "ability_runtime:ability_context_native", 120e0dac50fSopenharmony_ci "ability_runtime:abilitykit_native", 121e0dac50fSopenharmony_ci "common_event_service:cesfwk_innerkits", 122e0dac50fSopenharmony_ci "hilog:libhilog", 123e0dac50fSopenharmony_ci "napi:ace_napi", 124e0dac50fSopenharmony_ci ] 125e0dac50fSopenharmony_ci relative_install_dir = "extensionability/" 126e0dac50fSopenharmony_ci subsystem_name = "window" 127e0dac50fSopenharmony_ci part_name = "window_manager" 128e0dac50fSopenharmony_ci} 129e0dac50fSopenharmony_ci 130e0dac50fSopenharmony_cigroup("test") { 131e0dac50fSopenharmony_ci testonly = true 132e0dac50fSopenharmony_ci deps = [ "test:test" ] 133e0dac50fSopenharmony_ci} 134