136a3a8d0Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 236a3a8d0Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 336a3a8d0Sopenharmony_ci# you may not use this file except in compliance with the License. 436a3a8d0Sopenharmony_ci# You may obtain a copy of the License at 536a3a8d0Sopenharmony_ci# 636a3a8d0Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 736a3a8d0Sopenharmony_ci# 836a3a8d0Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 936a3a8d0Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1036a3a8d0Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1136a3a8d0Sopenharmony_ci# See the License for the specific language governing permissions and 1236a3a8d0Sopenharmony_ci# limitations under the License. 1336a3a8d0Sopenharmony_ci 1436a3a8d0Sopenharmony_ciimport("//build/ohos.gni") 1536a3a8d0Sopenharmony_ciimport("../../resmgr.gni") 1636a3a8d0Sopenharmony_ci 1736a3a8d0Sopenharmony_ci# source code for win. 1836a3a8d0Sopenharmony_ciis_win = "${current_os}_${current_cpu}" == "mingw_x86_64" 1936a3a8d0Sopenharmony_ci 2036a3a8d0Sopenharmony_ci# source code for linux. 2136a3a8d0Sopenharmony_ciis_linux = "${current_os}_${current_cpu}" == "linux_x64" 2236a3a8d0Sopenharmony_ci 2336a3a8d0Sopenharmony_ci# source code for mac. 2436a3a8d0Sopenharmony_ciis_mac = "${current_os}_${current_cpu}" == "mac_x64" || 2536a3a8d0Sopenharmony_ci "${current_os}_${host_cpu}" == "mac_arm64" 2636a3a8d0Sopenharmony_ci 2736a3a8d0Sopenharmony_ciconfig("resmgr_config") { 2836a3a8d0Sopenharmony_ci include_dirs = [ 2936a3a8d0Sopenharmony_ci "include", 3036a3a8d0Sopenharmony_ci "../../interfaces/inner_api/include", 3136a3a8d0Sopenharmony_ci ] 3236a3a8d0Sopenharmony_ci} 3336a3a8d0Sopenharmony_ci 3436a3a8d0Sopenharmony_cimanager_sources = [ 3536a3a8d0Sopenharmony_ci "src/hap_manager.cpp", 3636a3a8d0Sopenharmony_ci "src/hap_resource.cpp", 3736a3a8d0Sopenharmony_ci "src/hap_resource_manager.cpp", 3836a3a8d0Sopenharmony_ci "src/locale_matcher.cpp", 3936a3a8d0Sopenharmony_ci "src/res_config_impl.cpp", 4036a3a8d0Sopenharmony_ci "src/res_desc.cpp", 4136a3a8d0Sopenharmony_ci "src/res_locale.cpp", 4236a3a8d0Sopenharmony_ci "src/resource_manager.cpp", 4336a3a8d0Sopenharmony_ci "src/resource_manager_ext_mgr.cpp", 4436a3a8d0Sopenharmony_ci "src/resource_manager_impl.cpp", 4536a3a8d0Sopenharmony_ci "src/system_resource_manager.cpp", 4636a3a8d0Sopenharmony_ci "src/theme_pack_config.cpp", 4736a3a8d0Sopenharmony_ci "src/theme_pack_manager.cpp", 4836a3a8d0Sopenharmony_ci "src/theme_pack_resource.cpp", 4936a3a8d0Sopenharmony_ci "src/utils/hap_parser.cpp", 5036a3a8d0Sopenharmony_ci "src/utils/psue_manager.cpp", 5136a3a8d0Sopenharmony_ci "src/utils/string_utils.cpp", 5236a3a8d0Sopenharmony_ci "src/utils/utils.cpp", 5336a3a8d0Sopenharmony_ci] 5436a3a8d0Sopenharmony_ci 5536a3a8d0Sopenharmony_ciconfig("resmgr_public_config") { 5636a3a8d0Sopenharmony_ci visibility = [ ":*" ] 5736a3a8d0Sopenharmony_ci 5836a3a8d0Sopenharmony_ci include_dirs = [ "../../interfaces/inner_api/include" ] 5936a3a8d0Sopenharmony_ci 6036a3a8d0Sopenharmony_ci if (resource_management_support_icu) { 6136a3a8d0Sopenharmony_ci defines = [ "SUPPORT_GRAPHICS" ] 6236a3a8d0Sopenharmony_ci } 6336a3a8d0Sopenharmony_ci} 6436a3a8d0Sopenharmony_ci 6536a3a8d0Sopenharmony_ciconfig("global_resmgr_all_deps_config") { 6636a3a8d0Sopenharmony_ci include_dirs = [ "../../interfaces/inner_api/include" ] 6736a3a8d0Sopenharmony_ci} 6836a3a8d0Sopenharmony_ci 6936a3a8d0Sopenharmony_ciconfig("rawfile_public_config") { 7036a3a8d0Sopenharmony_ci include_dirs = [ 7136a3a8d0Sopenharmony_ci "./include", 7236a3a8d0Sopenharmony_ci "../../interfaces/native/resource/include", 7336a3a8d0Sopenharmony_ci ] 7436a3a8d0Sopenharmony_ci} 7536a3a8d0Sopenharmony_ci 7636a3a8d0Sopenharmony_ciohos_shared_library("global_resmgr") { 7736a3a8d0Sopenharmony_ci sources = manager_sources 7836a3a8d0Sopenharmony_ci 7936a3a8d0Sopenharmony_ci sources += [ "../../dfx/hisysevent_adapter/hisysevent_adapter.cpp" ] 8036a3a8d0Sopenharmony_ci 8136a3a8d0Sopenharmony_ci defines = [ "CONFIG_HILOG" ] 8236a3a8d0Sopenharmony_ci 8336a3a8d0Sopenharmony_ci configs = [ ":resmgr_config" ] 8436a3a8d0Sopenharmony_ci 8536a3a8d0Sopenharmony_ci version_script = "libresmgr.versionscript" 8636a3a8d0Sopenharmony_ci 8736a3a8d0Sopenharmony_ci include_dirs = [ "../../dfx/hisysevent_adapter" ] 8836a3a8d0Sopenharmony_ci 8936a3a8d0Sopenharmony_ci public_configs = [ 9036a3a8d0Sopenharmony_ci ":resmgr_public_config", 9136a3a8d0Sopenharmony_ci ":global_resmgr_all_deps_config", 9236a3a8d0Sopenharmony_ci ] 9336a3a8d0Sopenharmony_ci 9436a3a8d0Sopenharmony_ci external_deps = [ 9536a3a8d0Sopenharmony_ci "ability_base:extractortool", 9636a3a8d0Sopenharmony_ci "bounds_checking_function:libsec_shared", 9736a3a8d0Sopenharmony_ci "cJSON:cjson", 9836a3a8d0Sopenharmony_ci "hilog:libhilog", 9936a3a8d0Sopenharmony_ci "hisysevent:libhisysevent", 10036a3a8d0Sopenharmony_ci "hitrace:hitrace_meter", 10136a3a8d0Sopenharmony_ci "init:libbegetutil", 10236a3a8d0Sopenharmony_ci "zlib:shared_libz", 10336a3a8d0Sopenharmony_ci ] 10436a3a8d0Sopenharmony_ci 10536a3a8d0Sopenharmony_ci if (resource_management_support_icu) { 10636a3a8d0Sopenharmony_ci external_deps += [ "icu:shared_icui18n" ] 10736a3a8d0Sopenharmony_ci public_external_deps = [ "icu:shared_icuuc" ] 10836a3a8d0Sopenharmony_ci } 10936a3a8d0Sopenharmony_ci 11036a3a8d0Sopenharmony_ci branch_protector_ret = "pac_ret" 11136a3a8d0Sopenharmony_ci sanitize = { 11236a3a8d0Sopenharmony_ci boundary_sanitize = true 11336a3a8d0Sopenharmony_ci cfi = true 11436a3a8d0Sopenharmony_ci cfi_cross_dso = true 11536a3a8d0Sopenharmony_ci debug = false 11636a3a8d0Sopenharmony_ci integer_overflow = true 11736a3a8d0Sopenharmony_ci ubsan = true 11836a3a8d0Sopenharmony_ci } 11936a3a8d0Sopenharmony_ci subsystem_name = "global" 12036a3a8d0Sopenharmony_ci innerapi_tags = [ 12136a3a8d0Sopenharmony_ci "platformsdk_indirect", 12236a3a8d0Sopenharmony_ci "sasdk", 12336a3a8d0Sopenharmony_ci ] 12436a3a8d0Sopenharmony_ci part_name = "resource_management" 12536a3a8d0Sopenharmony_ci} 12636a3a8d0Sopenharmony_ci 12736a3a8d0Sopenharmony_ciohos_shared_library("global_resmgr_win") { 12836a3a8d0Sopenharmony_ci if (resource_management_support_icu) { 12936a3a8d0Sopenharmony_ci defines = [ 13036a3a8d0Sopenharmony_ci "__WINNT__", 13136a3a8d0Sopenharmony_ci "__EXPORT_MGR__", 13236a3a8d0Sopenharmony_ci "__IDE_PREVIEW__", 13336a3a8d0Sopenharmony_ci ] 13436a3a8d0Sopenharmony_ci cflags = [ 13536a3a8d0Sopenharmony_ci "-std=c++17", 13636a3a8d0Sopenharmony_ci "-Wno-ignored-attributes", 13736a3a8d0Sopenharmony_ci ] 13836a3a8d0Sopenharmony_ci 13936a3a8d0Sopenharmony_ci sources = manager_sources 14036a3a8d0Sopenharmony_ci 14136a3a8d0Sopenharmony_ci configs = [ ":resmgr_config" ] 14236a3a8d0Sopenharmony_ci 14336a3a8d0Sopenharmony_ci public_configs = [ ":resmgr_public_config" ] 14436a3a8d0Sopenharmony_ci 14536a3a8d0Sopenharmony_ci external_deps = [ 14636a3a8d0Sopenharmony_ci "bounds_checking_function:libsec_shared", 14736a3a8d0Sopenharmony_ci "cJSON:cjson_static", 14836a3a8d0Sopenharmony_ci "icu:static_icui18n", 14936a3a8d0Sopenharmony_ci "zlib:libz", 15036a3a8d0Sopenharmony_ci ] 15136a3a8d0Sopenharmony_ci public_external_deps = [ "icu:static_icuuc" ] 15236a3a8d0Sopenharmony_ci 15336a3a8d0Sopenharmony_ci libs = [ "shlwapi" ] 15436a3a8d0Sopenharmony_ci } 15536a3a8d0Sopenharmony_ci subsystem_name = "global" 15636a3a8d0Sopenharmony_ci part_name = "resource_management" 15736a3a8d0Sopenharmony_ci} 15836a3a8d0Sopenharmony_ci 15936a3a8d0Sopenharmony_cigroup("win_resmgr") { 16036a3a8d0Sopenharmony_ci if (is_win && resource_management_support_icu) { 16136a3a8d0Sopenharmony_ci public_deps = [ ":global_resmgr_win" ] 16236a3a8d0Sopenharmony_ci } 16336a3a8d0Sopenharmony_ci} 16436a3a8d0Sopenharmony_ci 16536a3a8d0Sopenharmony_ciohos_shared_library("global_resmgr_mac") { 16636a3a8d0Sopenharmony_ci if (resource_management_support_icu) { 16736a3a8d0Sopenharmony_ci defines = [ "__IDE_PREVIEW__" ] 16836a3a8d0Sopenharmony_ci cflags = [ 16936a3a8d0Sopenharmony_ci "-std=c++17", 17036a3a8d0Sopenharmony_ci "-Wno-ignored-attributes", 17136a3a8d0Sopenharmony_ci ] 17236a3a8d0Sopenharmony_ci 17336a3a8d0Sopenharmony_ci sources = manager_sources 17436a3a8d0Sopenharmony_ci 17536a3a8d0Sopenharmony_ci configs = [ ":resmgr_config" ] 17636a3a8d0Sopenharmony_ci 17736a3a8d0Sopenharmony_ci public_configs = [ ":resmgr_public_config" ] 17836a3a8d0Sopenharmony_ci 17936a3a8d0Sopenharmony_ci if (host_os == "mac") { 18036a3a8d0Sopenharmony_ci external_deps = [ 18136a3a8d0Sopenharmony_ci "bounds_checking_function:libsec_static", 18236a3a8d0Sopenharmony_ci "cJSON:cjson_static", 18336a3a8d0Sopenharmony_ci "icu:static_icui18n", 18436a3a8d0Sopenharmony_ci "zlib:libz", 18536a3a8d0Sopenharmony_ci ] 18636a3a8d0Sopenharmony_ci public_external_deps = [ "icu:static_icuuc" ] 18736a3a8d0Sopenharmony_ci } 18836a3a8d0Sopenharmony_ci } 18936a3a8d0Sopenharmony_ci subsystem_name = "global" 19036a3a8d0Sopenharmony_ci part_name = "resource_management" 19136a3a8d0Sopenharmony_ci} 19236a3a8d0Sopenharmony_ci 19336a3a8d0Sopenharmony_cigroup("mac_resmgr") { 19436a3a8d0Sopenharmony_ci if (is_mac && resource_management_support_icu) { 19536a3a8d0Sopenharmony_ci public_deps = [ ":global_resmgr_mac" ] 19636a3a8d0Sopenharmony_ci } 19736a3a8d0Sopenharmony_ci} 19836a3a8d0Sopenharmony_ci 19936a3a8d0Sopenharmony_ciohos_shared_library("global_resmgr_linux") { 20036a3a8d0Sopenharmony_ci if (resource_management_support_icu) { 20136a3a8d0Sopenharmony_ci defines = [ 20236a3a8d0Sopenharmony_ci "__IDE_PREVIEW__", 20336a3a8d0Sopenharmony_ci "__LINUX__", 20436a3a8d0Sopenharmony_ci ] 20536a3a8d0Sopenharmony_ci cflags = [ 20636a3a8d0Sopenharmony_ci "-std=c++17", 20736a3a8d0Sopenharmony_ci "-Wno-ignored-attributes", 20836a3a8d0Sopenharmony_ci ] 20936a3a8d0Sopenharmony_ci 21036a3a8d0Sopenharmony_ci sources = manager_sources 21136a3a8d0Sopenharmony_ci 21236a3a8d0Sopenharmony_ci configs = [ ":resmgr_config" ] 21336a3a8d0Sopenharmony_ci 21436a3a8d0Sopenharmony_ci public_configs = [ ":resmgr_public_config" ] 21536a3a8d0Sopenharmony_ci 21636a3a8d0Sopenharmony_ci external_deps = [ 21736a3a8d0Sopenharmony_ci "bounds_checking_function:libsec_shared", 21836a3a8d0Sopenharmony_ci "cJSON:cjson_static", 21936a3a8d0Sopenharmony_ci "icu:shared_icui18n", 22036a3a8d0Sopenharmony_ci "zlib:shared_libz", 22136a3a8d0Sopenharmony_ci ] 22236a3a8d0Sopenharmony_ci public_external_deps = [ "icu:shared_icuuc" ] 22336a3a8d0Sopenharmony_ci } 22436a3a8d0Sopenharmony_ci subsystem_name = "global" 22536a3a8d0Sopenharmony_ci part_name = "resource_management" 22636a3a8d0Sopenharmony_ci} 22736a3a8d0Sopenharmony_ci 22836a3a8d0Sopenharmony_cigroup("linux_resmgr") { 22936a3a8d0Sopenharmony_ci if (is_linux && resource_management_support_icu) { 23036a3a8d0Sopenharmony_ci deps = [ ":global_resmgr_linux" ] 23136a3a8d0Sopenharmony_ci } 23236a3a8d0Sopenharmony_ci} 23336a3a8d0Sopenharmony_ci 23436a3a8d0Sopenharmony_ciohos_shared_library("librawfile") { 23536a3a8d0Sopenharmony_ci output_name = "rawfile" 23636a3a8d0Sopenharmony_ci public_configs = [ ":rawfile_public_config" ] 23736a3a8d0Sopenharmony_ci sources = [ "src/raw_file_manager.cpp" ] 23836a3a8d0Sopenharmony_ci 23936a3a8d0Sopenharmony_ci defines = [ "CONFIG_HILOG" ] 24036a3a8d0Sopenharmony_ci 24136a3a8d0Sopenharmony_ci include_dirs = [ 24236a3a8d0Sopenharmony_ci "./include", 24336a3a8d0Sopenharmony_ci "../../interfaces/native/resource/include", 24436a3a8d0Sopenharmony_ci "../../interfaces/inner_api/include", 24536a3a8d0Sopenharmony_ci "../../interfaces/js/innerkits/core/include", 24636a3a8d0Sopenharmony_ci ] 24736a3a8d0Sopenharmony_ci 24836a3a8d0Sopenharmony_ci cflags = [ "-Wno-error=inconsistent-missing-override" ] 24936a3a8d0Sopenharmony_ci 25036a3a8d0Sopenharmony_ci deps = [ ":global_resmgr" ] 25136a3a8d0Sopenharmony_ci 25236a3a8d0Sopenharmony_ci external_deps = [ 25336a3a8d0Sopenharmony_ci "ability_base:configuration", 25436a3a8d0Sopenharmony_ci "bundle_framework:appexecfwk_base", 25536a3a8d0Sopenharmony_ci "cJSON:cjson_static", 25636a3a8d0Sopenharmony_ci "c_utils:utils", 25736a3a8d0Sopenharmony_ci "hilog:libhilog", 25836a3a8d0Sopenharmony_ci "napi:ace_napi", 25936a3a8d0Sopenharmony_ci ] 26036a3a8d0Sopenharmony_ci 26136a3a8d0Sopenharmony_ci if (resource_management_support_icu) { 26236a3a8d0Sopenharmony_ci external_deps += [ "icu:shared_icuuc" ] 26336a3a8d0Sopenharmony_ci } 26436a3a8d0Sopenharmony_ci 26536a3a8d0Sopenharmony_ci stack_protector_ret = true 26636a3a8d0Sopenharmony_ci sanitize = { 26736a3a8d0Sopenharmony_ci boundary_sanitize = true 26836a3a8d0Sopenharmony_ci cfi = true 26936a3a8d0Sopenharmony_ci cfi_cross_dso = true 27036a3a8d0Sopenharmony_ci debug = false 27136a3a8d0Sopenharmony_ci integer_overflow = true 27236a3a8d0Sopenharmony_ci ubsan = true 27336a3a8d0Sopenharmony_ci } 27436a3a8d0Sopenharmony_ci subsystem_name = "global" 27536a3a8d0Sopenharmony_ci part_name = "resource_management" 27636a3a8d0Sopenharmony_ci} 27736a3a8d0Sopenharmony_ci 27836a3a8d0Sopenharmony_ciohos_shared_library("ohresmgr") { 27936a3a8d0Sopenharmony_ci public_configs = [ ":rawfile_public_config" ] 28036a3a8d0Sopenharmony_ci sources = [ "src/native_resource_manager.cpp" ] 28136a3a8d0Sopenharmony_ci output_extension = "so" 28236a3a8d0Sopenharmony_ci output_name = "ohresmgr" 28336a3a8d0Sopenharmony_ci 28436a3a8d0Sopenharmony_ci defines = [ "CONFIG_HILOG" ] 28536a3a8d0Sopenharmony_ci 28636a3a8d0Sopenharmony_ci include_dirs = [ 28736a3a8d0Sopenharmony_ci "./include", 28836a3a8d0Sopenharmony_ci "../../interfaces/native/resource/include", 28936a3a8d0Sopenharmony_ci "../../interfaces/inner_api/include", 29036a3a8d0Sopenharmony_ci "../../interfaces/js/innerkits/core/include", 29136a3a8d0Sopenharmony_ci ] 29236a3a8d0Sopenharmony_ci 29336a3a8d0Sopenharmony_ci cflags = [ "-Wno-error=inconsistent-missing-override" ] 29436a3a8d0Sopenharmony_ci 29536a3a8d0Sopenharmony_ci deps = [ ":global_resmgr" ] 29636a3a8d0Sopenharmony_ci 29736a3a8d0Sopenharmony_ci external_deps = [ 29836a3a8d0Sopenharmony_ci "ability_base:configuration", 29936a3a8d0Sopenharmony_ci "ace_engine:ace_ndk", 30036a3a8d0Sopenharmony_ci "ace_engine:drawable_descriptor", 30136a3a8d0Sopenharmony_ci "bundle_framework:appexecfwk_base", 30236a3a8d0Sopenharmony_ci "cJSON:cjson_static", 30336a3a8d0Sopenharmony_ci "c_utils:utils", 30436a3a8d0Sopenharmony_ci "hilog:libhilog", 30536a3a8d0Sopenharmony_ci "napi:ace_napi", 30636a3a8d0Sopenharmony_ci ] 30736a3a8d0Sopenharmony_ci 30836a3a8d0Sopenharmony_ci stack_protector_ret = true 30936a3a8d0Sopenharmony_ci sanitize = { 31036a3a8d0Sopenharmony_ci boundary_sanitize = true 31136a3a8d0Sopenharmony_ci cfi = true 31236a3a8d0Sopenharmony_ci cfi_cross_dso = true 31336a3a8d0Sopenharmony_ci debug = false 31436a3a8d0Sopenharmony_ci integer_overflow = true 31536a3a8d0Sopenharmony_ci ubsan = true 31636a3a8d0Sopenharmony_ci } 31736a3a8d0Sopenharmony_ci innerapi_tags = [ "ndk" ] 31836a3a8d0Sopenharmony_ci subsystem_name = "global" 31936a3a8d0Sopenharmony_ci part_name = "resource_management" 32036a3a8d0Sopenharmony_ci} 321