18bf80f4bSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd. 28bf80f4bSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 38bf80f4bSopenharmony_ci# you may not use this file except in compliance with the License. 48bf80f4bSopenharmony_ci# You may obtain a copy of the License at 58bf80f4bSopenharmony_ci# 68bf80f4bSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 78bf80f4bSopenharmony_ci# 88bf80f4bSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 98bf80f4bSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 108bf80f4bSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 118bf80f4bSopenharmony_ci# See the License for the specific language governing permissions and 128bf80f4bSopenharmony_ci# limitations under the License. 138bf80f4bSopenharmony_ci 148bf80f4bSopenharmony_ciimport("//build/ohos.gni") 158bf80f4bSopenharmony_ciimport("//build/ohos/ace/ace.gni") 168bf80f4bSopenharmony_ciimport("//foundation/graphic/graphic_3d/lume/lume_config.gni") 178bf80f4bSopenharmony_ci 188bf80f4bSopenharmony_ciconfig("lume3d_config") { 198bf80f4bSopenharmony_ci visibility = [ ":*" ] 208bf80f4bSopenharmony_ci 218bf80f4bSopenharmony_ci include_dirs = [ 228bf80f4bSopenharmony_ci "${LUME_BASE_PATH}/api", 238bf80f4bSopenharmony_ci "${LUME_CORE_PATH}/api", 248bf80f4bSopenharmony_ci "${LUME_RENDER_PATH}/api", 258bf80f4bSopenharmony_ci "${LUME_CORE3D_PATH}/api", 268bf80f4bSopenharmony_ci ] 278bf80f4bSopenharmony_ci 288bf80f4bSopenharmony_ci if (current_os == "ohos") { 298bf80f4bSopenharmony_ci include_dirs += [ "${LUME_CORE_PATH}/api/platform/ohos" ] 308bf80f4bSopenharmony_ci } 318bf80f4bSopenharmony_ci 328bf80f4bSopenharmony_ci configs = [] 338bf80f4bSopenharmony_ci 348bf80f4bSopenharmony_ci cflags = [ 358bf80f4bSopenharmony_ci "-Wall", 368bf80f4bSopenharmony_ci "-fexceptions", 378bf80f4bSopenharmony_ci "-Wno-sign-compare", 388bf80f4bSopenharmony_ci "-Wno-unused-variable", 398bf80f4bSopenharmony_ci "-Wno-unused-private-field", 408bf80f4bSopenharmony_ci "-Wno-implicit-fallthrough", 418bf80f4bSopenharmony_ci "-Wno-reorder", 428bf80f4bSopenharmony_ci "-Wno-unused-function", 438bf80f4bSopenharmony_ci "-Wno-tautological-unsigned-zero-compare", 448bf80f4bSopenharmony_ci "-Wno-ignored-qualifiers", 458bf80f4bSopenharmony_ci "-Wno-unused-lambda-capture", 468bf80f4bSopenharmony_ci "-Wno-unused-but-set-variable", 478bf80f4bSopenharmony_ci 488bf80f4bSopenharmony_ci "-DCORE_PUBLIC=__attribute__((visibility(\"default\")))", 498bf80f4bSopenharmony_ci "-DCORE_BUILD_2D = 0", 508bf80f4bSopenharmony_ci "-DCORE_BUILD_VULKAN=0", 518bf80f4bSopenharmony_ci "-DCORE_BUILD_GL=0", 528bf80f4bSopenharmony_ci "-DCORE_BUILD_GLES=1", 538bf80f4bSopenharmony_ci "-DCORE_DEV_ENABLED=0", 548bf80f4bSopenharmony_ci "-DCORE_TESTS_ENABLED=0", 558bf80f4bSopenharmony_ci "-DCORE_GL_DEBUG=0", 568bf80f4bSopenharmony_ci "-DCORE_VALIDATION_ENABLED = 0", 578bf80f4bSopenharmony_ci "-DCORE_VULKAN_VALIDATION_ENABLED = 0", 588bf80f4bSopenharmony_ci "-DCORE_EMBEDDED_ASSETS_ENABLED = 2", 598bf80f4bSopenharmony_ci "-DCORE_ENABLE_GPU_QUERIES=0", 608bf80f4bSopenharmony_ci "-DCORE_DEBUG_GPU_RESOURCE_IDS = 0", 618bf80f4bSopenharmony_ci "-DCORE_DEBUG_COMMAND_MARKERS_ENABLED = 0", 628bf80f4bSopenharmony_ci "-DCORE_DEBUG_MARKERS_ENABLED = 0", 638bf80f4bSopenharmony_ci "-DRENDER_HAS_GL_BACKEND=0", 648bf80f4bSopenharmony_ci "-DRENDER_HAS_GLES_BACKEND = 1", 658bf80f4bSopenharmony_ci "-DRENDER_HAS_VULKAN_BACKEND = 1", 668bf80f4bSopenharmony_ci "-DVK_USE_PLATFORM_ANDROID_KHR = 1", 678bf80f4bSopenharmony_ci "-DCORE_LOG_NO_DEBUG=0", 688bf80f4bSopenharmony_ci "-DCORE_LOG_TO_DEBUG_OUTPUT=1", 698bf80f4bSopenharmony_ci "-DCORE_LOG_TO_CONSOLE", 708bf80f4bSopenharmony_ci "-DCORE_LOG_DISABLED=0", 718bf80f4bSopenharmony_ci "-DCORE_DYNAMIC=1", 728bf80f4bSopenharmony_ci ] 738bf80f4bSopenharmony_ci} 748bf80f4bSopenharmony_ci 758bf80f4bSopenharmony_ciconfig("scene_adapter_config") { 768bf80f4bSopenharmony_ci defines = [] 778bf80f4bSopenharmony_ci 788bf80f4bSopenharmony_ci include_dirs = [ "include" ] 798bf80f4bSopenharmony_ci if (KIT_3D_ENABLE) { 808bf80f4bSopenharmony_ci defines = [ "KIT_3D_ENABLE=$KIT_3D_ENABLE" ] 818bf80f4bSopenharmony_ci } 828bf80f4bSopenharmony_ci} 838bf80f4bSopenharmony_ci 848bf80f4bSopenharmony_cigroup("sceneAdapterInterface") { 858bf80f4bSopenharmony_ci public_configs = [ ":scene_adapter_config" ] 868bf80f4bSopenharmony_ci} 878bf80f4bSopenharmony_ci 888bf80f4bSopenharmony_ciohos_source_set("scene_adapter_source") { 898bf80f4bSopenharmony_ci sources = [ 908bf80f4bSopenharmony_ci "src/scene_adapter.cpp", 918bf80f4bSopenharmony_ci "src/scene_bridge.cpp", 928bf80f4bSopenharmony_ci ] 938bf80f4bSopenharmony_ci 948bf80f4bSopenharmony_ci include_dirs = [ 958bf80f4bSopenharmony_ci "include", 968bf80f4bSopenharmony_ci "../3d_widget_adapter/core/include", 978bf80f4bSopenharmony_ci "../lume/metaobject/include", 988bf80f4bSopenharmony_ci "../lume/scenewidgetplugin/plugin/include", 998bf80f4bSopenharmony_ci ] 1008bf80f4bSopenharmony_ci 1018bf80f4bSopenharmony_ci defines = [ 1028bf80f4bSopenharmony_ci "CORE_HAS_GLES_BACKEND=1", 1038bf80f4bSopenharmony_ci "CORE_HAS_VULKAN_BACKEND=1", 1048bf80f4bSopenharmony_ci ] 1058bf80f4bSopenharmony_ci 1068bf80f4bSopenharmony_ci configs = [ 1078bf80f4bSopenharmony_ci ":lume3d_config", 1088bf80f4bSopenharmony_ci "../3d_widget_adapter:widget_adapter_config", 1098bf80f4bSopenharmony_ci ] 1108bf80f4bSopenharmony_ci external_deps = [ 1118bf80f4bSopenharmony_ci "ability_runtime:ability_manager", 1128bf80f4bSopenharmony_ci "ability_runtime:app_context", 1138bf80f4bSopenharmony_ci "ability_runtime:data_ability_helper", 1148bf80f4bSopenharmony_ci "ability_runtime:napi_base_context", 1158bf80f4bSopenharmony_ci "ability_runtime:napi_common", 1168bf80f4bSopenharmony_ci "bundle_framework:appexecfwk_base", 1178bf80f4bSopenharmony_ci "bundle_framework:appexecfwk_core", 1188bf80f4bSopenharmony_ci "c_utils:utils", 1198bf80f4bSopenharmony_ci "graphic_2d:librender_service_client", 1208bf80f4bSopenharmony_ci "hilog:libhilog", 1218bf80f4bSopenharmony_ci "hitrace:hitrace_meter", 1228bf80f4bSopenharmony_ci "init:libbegetutil", 1238bf80f4bSopenharmony_ci "napi:ace_napi", 1248bf80f4bSopenharmony_ci ] 1258bf80f4bSopenharmony_ci 1268bf80f4bSopenharmony_ci defines += [ "LIB_ENGINE_CORE=${LIB_ENGINE_CORE}.z" ] 1278bf80f4bSopenharmony_ci 1288bf80f4bSopenharmony_ci if (target_cpu == "arm") { 1298bf80f4bSopenharmony_ci defines += [ 1308bf80f4bSopenharmony_ci "PLATFORM_CORE_ROOT_PATH=/system/lib/", 1318bf80f4bSopenharmony_ci "PLATFORM_APP_ROOT_PATH=/system/lib/", 1328bf80f4bSopenharmony_ci "PLATFORM_APP_PLUGIN_PATH=/system/lib/", 1338bf80f4bSopenharmony_ci ] 1348bf80f4bSopenharmony_ci } 1358bf80f4bSopenharmony_ci 1368bf80f4bSopenharmony_ci if (target_cpu == "arm64") { 1378bf80f4bSopenharmony_ci defines += [ 1388bf80f4bSopenharmony_ci "PLATFORM_CORE_ROOT_PATH=/system/lib64/", 1398bf80f4bSopenharmony_ci "PLATFORM_APP_ROOT_PATH=/system/lib64/", 1408bf80f4bSopenharmony_ci "PLATFORM_APP_PLUGIN_PATH=/system/lib64/", 1418bf80f4bSopenharmony_ci ] 1428bf80f4bSopenharmony_ci } 1438bf80f4bSopenharmony_ci 1448bf80f4bSopenharmony_ci deps = [ "../kits/js:napiInterface" ] 1458bf80f4bSopenharmony_ci 1468bf80f4bSopenharmony_ci part_name = "graphic_3d" 1478bf80f4bSopenharmony_ci subsystem_name = "graphic" 1488bf80f4bSopenharmony_ci} 1498bf80f4bSopenharmony_ci 1508bf80f4bSopenharmony_ciohos_static_library("scene_adapter_static") { 1518bf80f4bSopenharmony_ci deps = [ ":scene_adapter_source" ] 1528bf80f4bSopenharmony_ci public_configs = [ 1538bf80f4bSopenharmony_ci ":scene_adapter_config", 1548bf80f4bSopenharmony_ci ":lume3d_config", 1558bf80f4bSopenharmony_ci ] 1568bf80f4bSopenharmony_ci 1578bf80f4bSopenharmony_ci part_name = "graphic_3d" 1588bf80f4bSopenharmony_ci subsystem_name = "graphic" 1598bf80f4bSopenharmony_ci} 160