build(binding): macOS ARM64 native binaries (#223)

Co-authored-by: @Tom-Ski @zly2006
This commit is contained in:
Rex Fleischerand@Tom-Ski @zly2006 authored and GitHub committed 2024-08-05 00:37:32 +03:00
1 parent 3d75eb3da0
commit be4734090e
9 files changed
+83 -41

No files matched your search

@@ -19,6 +19,7 @@ class GenerateLibs extends DefaultTask {
private final boolean forWindows = buildEnvs?.contains('windows')
private final boolean forLinux = buildEnvs?.contains('linux')
private final boolean forMac = buildEnvs?.contains('macos')
private final boolean forMacArm64 = buildEnvs?.contains('macosarm64')
private final boolean isLocal = System.properties.containsKey('local')
private final boolean withFreeType = Boolean.valueOf(System.properties.getProperty('freetype', 'false'))
@@ -105,6 +106,16 @@ class GenerateLibs extends DefaultTask {
buildTargets += mac64
}
if (forMacArm64) {
def minMacOsVersion = '10.15'
def macArm64 = BuildTarget.newDefaultTarget(BuildTarget.TargetOs.MacOsX, true, true)
macArm64.cppFlags += ' -std=c++14'
macArm64.cppFlags = macArm64.cppFlags.replace('10.7', minMacOsVersion)
macArm64.linkerFlags = macArm64.linkerFlags.replace('10.7', minMacOsVersion)
addFreeTypeIfEnabled(macArm64)
buildTargets += macArm64
}
new AntScriptGenerator().generate(buildConfig, buildTargets)
// Generate native libraries
@@ -118,6 +129,8 @@ class GenerateLibs extends DefaultTask {
BuildExecutor.executeAnt(jniDir + '/build-linux64.xml', commonParams)
if (forMac)
BuildExecutor.executeAnt(jniDir + '/build-macosx64.xml', commonParams)
if (forMacArm64)
BuildExecutor.executeAnt(jniDir + '/build-macosxarm64.xml', commonParams)
BuildExecutor.executeAnt(jniDir + '/build.xml', '-v', 'pack-natives')
}