diff --git a/Kha/Backends/Kore-HL/kfile.js b/Kha/Backends/Kore-HL/kfile.js index 1d2ff382..8bce5ef7 100644 --- a/Kha/Backends/Kore-HL/kfile.js +++ b/Kha/Backends/Kore-HL/kfile.js @@ -6,8 +6,8 @@ project.addIncludeDirs('hl/src', 'hl/include/pcre', 'hl/include/mbedtls/include' project.addFiles('hl/include/mbedtls/library/**', 'hl/include/zlib/**', 'hl/libs/fmt/fmt.c', 'hl/libs/fmt/sha1.c', 'hl/libs/ssl/ssl.c'); if (platform == Platform.OSX) { - project.addDefine('KINC_DEBUGDIR="macos-hl"'); - project.addDefine('KINC_DEBUGDIR="osx-hl"'); + // TODO: Wrong hashlink folder path, remove and check also for ios + project.addDefine('KINC_DEBUGDIR=""'); } if (platform == Platform.iOS) project.addDefine('KINC_DEBUGDIR="ios-hl"'); if (platform !== Platform.Windows || audio !== AudioApi.DirectSound) { diff --git a/Kha/Kore/Tools/macos_arm64/kmake b/Kha/Kore/Tools/macos_arm64/kmake index 6b0c55a8..7af6a2a4 100755 Binary files a/Kha/Kore/Tools/macos_arm64/kmake and b/Kha/Kore/Tools/macos_arm64/kmake differ diff --git a/Kha/Tools/khamake/out/main.js b/Kha/Tools/khamake/out/main.js index f9e0a373..b4ff8262 100644 --- a/Kha/Tools/khamake/out/main.js +++ b/Kha/Tools/khamake/out/main.js @@ -242,6 +242,7 @@ function checkKorePlatform(platform) { || platform === 'windowsapp' || platform === 'ios' || platform === 'osx' + || platform === 'macos' || platform === 'android' || platform === 'linux' || platform === 'emscripten' @@ -256,7 +257,9 @@ function checkKorePlatform(platform) { } function koreplatform(platform) { if (platform.endsWith('-hl')) - return platform.substr(0, platform.length - '-hl'.length); + platform = platform.substr(0, platform.length - '-hl'.length); + if (platform === 'macos') + return 'osx'; // krafix only recognizes osx, not macos else return platform; } @@ -413,7 +416,7 @@ async function exportKhaProject(options) { } } } - let shaderCompiler = new ShaderCompiler_1.ShaderCompiler(exporter, baseTarget, options.krafix, shaderDir, temp, buildDir, options, project.shaderMatchers); + let shaderCompiler = new ShaderCompiler_1.ShaderCompiler(exporter, options.target, options.krafix, shaderDir, temp, buildDir, options, project.shaderMatchers); lastShaderCompiler = shaderCompiler; try { if (baseTarget !== Platform_1.Platform.Java && baseTarget !== Platform_1.Platform.WPF) { diff --git a/Kha/Tools/khamake/src/main.ts b/Kha/Tools/khamake/src/main.ts index d8da2c0a..eb755b0d 100644 --- a/Kha/Tools/khamake/src/main.ts +++ b/Kha/Tools/khamake/src/main.ts @@ -273,6 +273,7 @@ function checkKorePlatform(platform: string) { || platform === 'windowsapp' || platform === 'ios' || platform === 'osx' + || platform === 'macos' || platform === 'android' || platform === 'linux' || platform === 'emscripten' @@ -287,8 +288,12 @@ function checkKorePlatform(platform: string) { } function koreplatform(platform: string) { - if (platform.endsWith('-hl')) return platform.substr(0, platform.length - '-hl'.length); - else return platform; + if (platform.endsWith('-hl')) + platform = platform.substr(0, platform.length - '-hl'.length); + if (platform === 'macos') + return 'osx'; // krafix only recognizes osx, not macos + else + return platform; } let kore = false; diff --git a/leenkx/blender/lnx/assets.py b/leenkx/blender/lnx/assets.py index 99864006..14afa21a 100644 --- a/leenkx/blender/lnx/assets.py +++ b/leenkx/blender/lnx/assets.py @@ -148,8 +148,8 @@ def invalidate_shader_cache(self, context): shutil.rmtree(fp + '/windows-resources', onerror=remove_readonly) if os.path.isdir(fp + '/linux-resources'): shutil.rmtree(fp + '/linux-resources', onerror=remove_readonly) - if os.path.isdir(fp + '/osx-resources'): - shutil.rmtree(fp + '/osx-resources', onerror=remove_readonly) + if os.path.isdir(fp + '/macos-resources'): + shutil.rmtree(fp + '/macos-resources', onerror=remove_readonly) def invalidate_compiled_data(self, context): global invalidate_enabled diff --git a/leenkx/blender/lnx/make.py b/leenkx/blender/lnx/make.py index 6829be82..80c54990 100644 --- a/leenkx/blender/lnx/make.py +++ b/leenkx/blender/lnx/make.py @@ -225,6 +225,8 @@ def export_data_impl(fp, sdk_path): shutil.rmtree(build_dir + '/linux-resources', onerror=remove_readonly) if os.path.isdir(build_dir + '/osx-resources'): shutil.rmtree(build_dir + '/osx-resources', onerror=remove_readonly) + if os.path.isdir(build_dir + '/macos-resources'): + shutil.rmtree(build_dir + '/macos-resources', onerror=remove_readonly) if os.path.isdir(build_dir + '/compiled/Shaders'): shutil.rmtree(build_dir + '/compiled/Shaders', onerror=remove_readonly) @@ -531,7 +533,7 @@ def build(target, is_play=False, is_publish=False, is_export=False): target = 'windows-hl' elif current_os == 'linux': target = 'linux-hl' - elif current_os == 'mac' or current_os == 'macos': + elif current_os == 'mac' or current_os == 'osx' or current_os == 'macos': target = 'macos-hl' else: log.error(f"Unsupported OS '{current_os}' for Hashlink runtime.") @@ -1312,7 +1314,7 @@ def build_success(): if target_name == 'html5': project_path = files_path print('Exported HTML5 package to ' + project_path) - elif target_name.startswith('ios') or target_name.startswith('osx'): # TODO: to macos + elif target_name.startswith('ios') or target_name.startswith('osx') or target_name.startswith('macos'): project_path = files_path + '-build' print('Exported XCode project to ' + project_path) elif target_name.startswith('windows'): diff --git a/leenkx/blender/lnx/props_exporter.py b/leenkx/blender/lnx/props_exporter.py index ccb2110c..08502abd 100644 --- a/leenkx/blender/lnx/props_exporter.py +++ b/leenkx/blender/lnx/props_exporter.py @@ -43,6 +43,8 @@ def update_gapi_linux(self, context): def update_gapi_mac(self, context): if os.path.isdir(lnx.utils.get_fp_build() + '/osx-build'): shutil.rmtree(lnx.utils.get_fp_build() + '/osx-build', onerror=remove_readonly) + if os.path.isdir(lnx.utils.get_fp_build() + '/macos-hl-build'): + shutil.rmtree(lnx.utils.get_fp_build() + '/macos-hl-build', onerror=remove_readonly) bpy.data.worlds['Lnx'].lnx_recompile = True assets.invalidate_compiled_data(self, context) diff --git a/leenkx/blender/lnx/utils.py b/leenkx/blender/lnx/utils.py index b6a82f1c..bf322752 100644 --- a/leenkx/blender/lnx/utils.py +++ b/leenkx/blender/lnx/utils.py @@ -368,7 +368,7 @@ def get_node_path(): return get_sdk_path() + '/nodejs/node.exe' elif get_os() == 'mac': import platform - node_bin = 'node-macos_arm64' if platform.machine() == 'arm64' else 'node-osx' + node_bin = 'node-macos_arm64' if platform.machine() == 'arm64' else 'node-macos_x64' return get_sdk_path() + f'/nodejs/{node_bin}' else: return get_sdk_path() + '/nodejs/node-linux64' @@ -1072,8 +1072,8 @@ def def_strings_to_array(strdefs): return defs def get_kha_target(target_name): # TODO: remove - if target_name == 'macos-hl': - return 'osx-hl' + if target_name == 'osx-hl' or target_name == 'macos-hl': + return 'macos-hl' elif target_name.startswith('krom'): # krom-windows return 'krom' elif target_name == 'custom':