1e0dac50fSopenharmony_ci# Copyright (c) 2023-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("//build/ohos/ace/ace.gni") 16e0dac50fSopenharmony_ciimport("//build/templates/abc/ohos_abc.gni") 17e0dac50fSopenharmony_ci 18e0dac50fSopenharmony_cies2abc_gen_abc("gen_extension_window_abc") { 19e0dac50fSopenharmony_ci src_js = rebase_path("extension_window.js") 20e0dac50fSopenharmony_ci dst_file = rebase_path(target_out_dir + "/extension_window.abc") 21e0dac50fSopenharmony_ci in_puts = [ "extension_window.js" ] 22e0dac50fSopenharmony_ci out_puts = [ target_out_dir + "/extension_window.abc" ] 23e0dac50fSopenharmony_ci extra_args = [ "--module" ] 24e0dac50fSopenharmony_ci} 25e0dac50fSopenharmony_ci 26e0dac50fSopenharmony_cigen_js_obj("extension_window_js") { 27e0dac50fSopenharmony_ci input = "extension_window.js" 28e0dac50fSopenharmony_ci output = target_out_dir + "/extension_window.o" 29e0dac50fSopenharmony_ci} 30e0dac50fSopenharmony_ci 31e0dac50fSopenharmony_cigen_js_obj("extension_window_abc") { 32e0dac50fSopenharmony_ci input = get_label_info(":gen_extension_window_abc", "target_out_dir") + 33e0dac50fSopenharmony_ci "/extension_window.abc" 34e0dac50fSopenharmony_ci output = target_out_dir + "/extension_window_abc.o" 35e0dac50fSopenharmony_ci dep = ":gen_extension_window_abc" 36e0dac50fSopenharmony_ci} 37e0dac50fSopenharmony_ci 38e0dac50fSopenharmony_ciohos_shared_library("extensionwindow") { 39e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 40e0dac50fSopenharmony_ci sanitize = { 41e0dac50fSopenharmony_ci cfi = true 42e0dac50fSopenharmony_ci cfi_cross_dso = true 43e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 44e0dac50fSopenharmony_ci debug = false 45e0dac50fSopenharmony_ci } 46e0dac50fSopenharmony_ci sources = [ "extension_window_module.cpp" ] 47e0dac50fSopenharmony_ci 48e0dac50fSopenharmony_ci configs = [ "../../../../resources/config/build:coverage_flags" ] 49e0dac50fSopenharmony_ci 50e0dac50fSopenharmony_ci deps = [ 51e0dac50fSopenharmony_ci ":extension_window_abc", 52e0dac50fSopenharmony_ci ":extension_window_js", 53e0dac50fSopenharmony_ci ] 54e0dac50fSopenharmony_ci 55e0dac50fSopenharmony_ci external_deps = [ "napi:ace_napi" ] 56e0dac50fSopenharmony_ci 57e0dac50fSopenharmony_ci relative_install_dir = "module/application" 58e0dac50fSopenharmony_ci part_name = "window_manager" 59e0dac50fSopenharmony_ci subsystem_name = "window" 60e0dac50fSopenharmony_ci} 61e0dac50fSopenharmony_ci 62e0dac50fSopenharmony_ciconfig("extension_window_kit_config") { 63e0dac50fSopenharmony_ci visibility = [ ":*" ] 64e0dac50fSopenharmony_ci 65e0dac50fSopenharmony_ci include_dirs = [ 66e0dac50fSopenharmony_ci "../window_runtime/window_napi", 67e0dac50fSopenharmony_ci "../../../innerkits/wm", 68e0dac50fSopenharmony_ci "../../../../utils/include", 69e0dac50fSopenharmony_ci "../../../../wm/include", 70e0dac50fSopenharmony_ci "../../../../wmserver/include", 71e0dac50fSopenharmony_ci ] 72e0dac50fSopenharmony_ci} 73e0dac50fSopenharmony_ci 74e0dac50fSopenharmony_ciohos_shared_library("extensionwindow_napi") { 75e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 76e0dac50fSopenharmony_ci sanitize = { 77e0dac50fSopenharmony_ci cfi = true 78e0dac50fSopenharmony_ci cfi_cross_dso = true 79e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 80e0dac50fSopenharmony_ci debug = false 81e0dac50fSopenharmony_ci } 82e0dac50fSopenharmony_ci sources = [ 83e0dac50fSopenharmony_ci "js_extension_window.cpp", 84e0dac50fSopenharmony_ci "js_extension_window_listener.cpp", 85e0dac50fSopenharmony_ci "js_extension_window_register_manager.cpp", 86e0dac50fSopenharmony_ci "js_extension_window_utils.cpp", 87e0dac50fSopenharmony_ci ] 88e0dac50fSopenharmony_ci 89e0dac50fSopenharmony_ci configs = [ 90e0dac50fSopenharmony_ci ":extension_window_kit_config", 91e0dac50fSopenharmony_ci "../../../../resources/config/build:coverage_flags", 92e0dac50fSopenharmony_ci ] 93e0dac50fSopenharmony_ci 94e0dac50fSopenharmony_ci include_dirs = [ "extension_window" ] 95e0dac50fSopenharmony_ci deps = [ 96e0dac50fSopenharmony_ci "../../../../utils:libwmutil", 97e0dac50fSopenharmony_ci "../../../../utils:libwmutil_base", 98e0dac50fSopenharmony_ci "../../../../wm:libwm", 99e0dac50fSopenharmony_ci "../window_runtime:window_native_kit", 100e0dac50fSopenharmony_ci ] 101e0dac50fSopenharmony_ci 102e0dac50fSopenharmony_ci external_deps = [ 103e0dac50fSopenharmony_ci "ability_runtime:runtime", 104e0dac50fSopenharmony_ci "ace_engine:ace_uicontent", 105e0dac50fSopenharmony_ci "c_utils:utils", 106e0dac50fSopenharmony_ci "eventhandler:libeventhandler", 107e0dac50fSopenharmony_ci "hilog:libhilog", 108e0dac50fSopenharmony_ci "hitrace:hitrace_meter", 109e0dac50fSopenharmony_ci "napi:ace_napi", 110e0dac50fSopenharmony_ci ] 111e0dac50fSopenharmony_ci 112e0dac50fSopenharmony_ci innerapi_tags = [ "platformsdk" ] 113e0dac50fSopenharmony_ci part_name = "window_manager" 114e0dac50fSopenharmony_ci subsystem_name = "window" 115e0dac50fSopenharmony_ci 116e0dac50fSopenharmony_ci defines = [] 117e0dac50fSopenharmony_ci if (build_variant == "user") { 118e0dac50fSopenharmony_ci defines += [ "IS_RELEASE_VERSION" ] 119e0dac50fSopenharmony_ci } 120e0dac50fSopenharmony_ci} 121