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_cideclare_args() { 158bf80f4bSopenharmony_ci #BUILDTYPE="Release" 168bf80f4bSopenharmony_ci #BUILDTYPE="MinSizeRel" 178bf80f4bSopenharmony_ci #BUILDTYPE="RelWithDebInfo" 188bf80f4bSopenharmony_ci BUILDTYPE = "Release" 198bf80f4bSopenharmony_ci 208bf80f4bSopenharmony_ci LUME_PATH = "foundation/graphic/graphic_3d/lume/" 218bf80f4bSopenharmony_ci 228bf80f4bSopenharmony_ci BASE_DIR_NAME = "LumeBase" 238bf80f4bSopenharmony_ci CORE_DIR_NAME = "LumeEngine" 248bf80f4bSopenharmony_ci RENDER_DIR_NAME = "LumeRender" 258bf80f4bSopenharmony_ci CORE3D_DIR_NAME = "Lume_3D" 268bf80f4bSopenharmony_ci BINARY_DIR_NAME = "LumeBinaryCompile" 278bf80f4bSopenharmony_ci 288bf80f4bSopenharmony_ci LUME_OHOS_BUILD = true 298bf80f4bSopenharmony_ci CORE_DEV_ENABLED = 1 308bf80f4bSopenharmony_ci 318bf80f4bSopenharmony_ci LIB_ENGINE_CORE = "libAGPDLL" 328bf80f4bSopenharmony_ci LIB_RENDER = "libPluginAGPRender" 338bf80f4bSopenharmony_ci LIB_CORE3D = "libPluginAGP3D" 348bf80f4bSopenharmony_ci LIB_VULKAN_3D = "//third_party/vulkan-loader:vulkan_loader" 358bf80f4bSopenharmony_ci METAOBJECT_DIR_NAME = "metaobject" 368bf80f4bSopenharmony_ci SCENEWIDGETPLUGIN_DIR_NAME = "scenewidgetplugin" 378bf80f4bSopenharmony_ci ECS_HELPER = "ecshelper" 388bf80f4bSopenharmony_ci} 398bf80f4bSopenharmony_ci 408bf80f4bSopenharmony_cideclare_args() { 418bf80f4bSopenharmony_ci LUME_ROOT = "//${LUME_PATH}" 428bf80f4bSopenharmony_ci} 438bf80f4bSopenharmony_ci 448bf80f4bSopenharmony_cideclare_args() { 458bf80f4bSopenharmony_ci LUME_BASE_PATH = "${LUME_ROOT}/${BASE_DIR_NAME}/" 468bf80f4bSopenharmony_ci LUME_CORE_PATH = "${LUME_ROOT}/${CORE_DIR_NAME}/" 478bf80f4bSopenharmony_ci LUME_RENDER_PATH = "${LUME_ROOT}/${RENDER_DIR_NAME}/" 488bf80f4bSopenharmony_ci LUME_CORE3D_PATH = "${LUME_ROOT}/${CORE3D_DIR_NAME}/" 498bf80f4bSopenharmony_ci LUME_BINARY_PATH = "${LUME_ROOT}/${BINARY_DIR_NAME}/" 508bf80f4bSopenharmony_ci LUME_ECS_HELPER_PATH = "${LUME_ROOT}/${CORE_DIR_NAME}/${ECS_HELPER}/" 518bf80f4bSopenharmony_ci LUME_METAOBJECT_PATH = "${LUME_ROOT}/${METAOBJECT_DIR_NAME}" 528bf80f4bSopenharmony_ci LUME_SCP_PATH = "${LUME_ROOT}/${SCENEWIDGETPLUGIN_DIR_NAME}" 538bf80f4bSopenharmony_ci 548bf80f4bSopenharmony_ci LUME_CORE_DLL_PATH = "${LUME_ROOT}/${CORE_DIR_NAME}/DLL/" 558bf80f4bSopenharmony_ci LUME_CORE3D_DLL_PATH = "${LUME_ROOT}/${CORE3D_DIR_NAME}/DLL/" 568bf80f4bSopenharmony_ci} 578bf80f4bSopenharmony_ci 588bf80f4bSopenharmony_cideclare_args() { 598bf80f4bSopenharmony_ci CORE_STATIC_PLUGIN_HEADER = 608bf80f4bSopenharmony_ci "\"${LUME_PATH}/${CORE_DIR_NAME}/src/static_plugin_decl.h\"" 618bf80f4bSopenharmony_ci} 628bf80f4bSopenharmony_ci 638bf80f4bSopenharmony_cideclare_args() { 648bf80f4bSopenharmony_ci USE_LIB_PNG_JPEG = true 658bf80f4bSopenharmony_ci USE_STB_IMAGE = false 668bf80f4bSopenharmony_ci STB_IMAGE_PATH = "//foundation/graphic/graphic_3d/lume/TMP_STB/" 678bf80f4bSopenharmony_ci} 688bf80f4bSopenharmony_ci 698bf80f4bSopenharmony_cideclare_args() { 708bf80f4bSopenharmony_ci KIT_3D_ENABLE = true 718bf80f4bSopenharmony_ci} 728bf80f4bSopenharmony_ci 738bf80f4bSopenharmony_citemplate("lume_rofs") { 748bf80f4bSopenharmony_ci name = target_name 758bf80f4bSopenharmony_ci action(name) { 768bf80f4bSopenharmony_ci outputs = [ invoker.outputs ] 778bf80f4bSopenharmony_ci script = invoker.script 788bf80f4bSopenharmony_ci cpu_type = "" 798bf80f4bSopenharmony_ci output_obj = "" 808bf80f4bSopenharmony_ci if (target_cpu == "arm") { 818bf80f4bSopenharmony_ci cpu_type = "armeabi-v7a" 828bf80f4bSopenharmony_ci output_obj = "${invoker.base_name}_32.o" 838bf80f4bSopenharmony_ci } 848bf80f4bSopenharmony_ci 858bf80f4bSopenharmony_ci if (target_cpu == "arm64") { 868bf80f4bSopenharmony_ci cpu_type = "arm64-v8a" 878bf80f4bSopenharmony_ci output_obj = "${invoker.base_name}_64.o" 888bf80f4bSopenharmony_ci } 898bf80f4bSopenharmony_ci 908bf80f4bSopenharmony_ci args = [ 918bf80f4bSopenharmony_ci rebase_path(invoker.tool_path, root_build_dir), 928bf80f4bSopenharmony_ci "-${cpu_type}", 938bf80f4bSopenharmony_ci rebase_path(invoker.copy_path, root_build_dir), 948bf80f4bSopenharmony_ci invoker.root, 958bf80f4bSopenharmony_ci invoker.bin_name, 968bf80f4bSopenharmony_ci invoker.size_name, 978bf80f4bSopenharmony_ci invoker.base_name, 988bf80f4bSopenharmony_ci rebase_path(invoker.copy_path, root_build_dir), 998bf80f4bSopenharmony_ci output_obj, 1008bf80f4bSopenharmony_ci invoker.file_extension, 1018bf80f4bSopenharmony_ci ] 1028bf80f4bSopenharmony_ci 1038bf80f4bSopenharmony_ci deps = [] 1048bf80f4bSopenharmony_ci if (defined(invoker.compileShader_deps)) { 1058bf80f4bSopenharmony_ci deps += invoker.compileShader_deps 1068bf80f4bSopenharmony_ci } 1078bf80f4bSopenharmony_ci } 1088bf80f4bSopenharmony_ci} 1098bf80f4bSopenharmony_ci 1108bf80f4bSopenharmony_citemplate("lume_binary_complile") { 1118bf80f4bSopenharmony_ci name = target_name 1128bf80f4bSopenharmony_ci action(name) { 1138bf80f4bSopenharmony_ci outputs = invoker.outputs 1148bf80f4bSopenharmony_ci script = invoker.script 1158bf80f4bSopenharmony_ci args = [ rebase_path(invoker.dest_gen_path, root_build_dir) ] 1168bf80f4bSopenharmony_ci } 1178bf80f4bSopenharmony_ci} 1188bf80f4bSopenharmony_ci 1198bf80f4bSopenharmony_citemplate("lume_compile_shader") { 1208bf80f4bSopenharmony_ci name = target_name 1218bf80f4bSopenharmony_ci action(name) { 1228bf80f4bSopenharmony_ci script = invoker.script 1238bf80f4bSopenharmony_ci outputs = invoker.outputs 1248bf80f4bSopenharmony_ci args = [ 1258bf80f4bSopenharmony_ci rebase_path(invoker.dest_gen_path, root_build_dir), 1268bf80f4bSopenharmony_ci invoker.asset_path, 1278bf80f4bSopenharmony_ci rebase_path(invoker.tool_path, root_build_dir), 1288bf80f4bSopenharmony_ci rebase_path(invoker.shader_path, root_build_dir), 1298bf80f4bSopenharmony_ci invoker.include_path, 1308bf80f4bSopenharmony_ci ] 1318bf80f4bSopenharmony_ci 1328bf80f4bSopenharmony_ci if (defined(invoker.render_include_path)) { 1338bf80f4bSopenharmony_ci args += [ invoker.render_include_path ] 1348bf80f4bSopenharmony_ci } 1358bf80f4bSopenharmony_ci deps = [] 1368bf80f4bSopenharmony_ci if (defined(invoker.compileShader_deps)) { 1378bf80f4bSopenharmony_ci deps += invoker.compileShader_deps 1388bf80f4bSopenharmony_ci } 1398bf80f4bSopenharmony_ci } 1408bf80f4bSopenharmony_ci} 141