# Copyright (c) 2023-2023 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("//build/ohos/ace/ace.gni") import("//build/templates/abc/ohos_abc.gni") es2abc_gen_abc("gen_extension_window_abc") { src_js = rebase_path("extension_window.js") dst_file = rebase_path(target_out_dir + "/extension_window.abc") in_puts = [ "extension_window.js" ] out_puts = [ target_out_dir + "/extension_window.abc" ] extra_args = [ "--module" ] } gen_js_obj("extension_window_js") { input = "extension_window.js" output = target_out_dir + "/extension_window.o" } gen_js_obj("extension_window_abc") { input = get_label_info(":gen_extension_window_abc", "target_out_dir") + "/extension_window.abc" output = target_out_dir + "/extension_window_abc.o" dep = ":gen_extension_window_abc" } ohos_shared_library("extensionwindow") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true cfi_vcall_icall_only = true debug = false } sources = [ "extension_window_module.cpp" ] configs = [ "../../../../resources/config/build:coverage_flags" ] deps = [ ":extension_window_abc", ":extension_window_js", ] external_deps = [ "napi:ace_napi" ] relative_install_dir = "module/application" part_name = "window_manager" subsystem_name = "window" } config("extension_window_kit_config") { visibility = [ ":*" ] include_dirs = [ "../window_runtime/window_napi", "../../../innerkits/wm", "../../../../utils/include", "../../../../wm/include", "../../../../wmserver/include", ] } ohos_shared_library("extensionwindow_napi") { branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true cfi_vcall_icall_only = true debug = false } sources = [ "js_extension_window.cpp", "js_extension_window_listener.cpp", "js_extension_window_register_manager.cpp", "js_extension_window_utils.cpp", ] configs = [ ":extension_window_kit_config", "../../../../resources/config/build:coverage_flags", ] include_dirs = [ "extension_window" ] deps = [ "../../../../utils:libwmutil", "../../../../utils:libwmutil_base", "../../../../wm:libwm", "../window_runtime:window_native_kit", ] external_deps = [ "ability_runtime:runtime", "ace_engine:ace_uicontent", "c_utils:utils", "eventhandler:libeventhandler", "hilog:libhilog", "hitrace:hitrace_meter", "napi:ace_napi", ] innerapi_tags = [ "platformsdk" ] part_name = "window_manager" subsystem_name = "window" defines = [] if (build_variant == "user") { defines += [ "IS_RELEASE_VERSION" ] } }