Files
imgui-java/imgui-binding-natives/build.gradle
T
Rex Fleischerand@Tom-Ski @zly2006 be4734090e build(binding): macOS ARM64 native binaries (#223)
Co-authored-by: @Tom-Ski @zly2006
2024-08-05 00:37:32 +03:00

64 lines
1.8 KiB
Groovy

plugins {
id 'java'
id 'maven-publish'
id 'signing'
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
}
def packageName = 'imgui-java-natives-linux'
def packageDesc = 'Native binaries for imgui-java binding for Linux'
def moduleName = 'imgui.natives.linux'
def fromDir = '../bin'
def libName = 'libimgui-java64.so'
switch (findProperty('deployType')) {
case 'windows':
packageName = 'imgui-java-natives-windows'
packageDesc = 'Native binaries for imgui-java binding for Windows'
moduleName = 'imgui.natives.windows'
libName = 'imgui-java64.dll'
break
case 'linux':
packageName = 'imgui-java-natives-linux'
packageDesc = 'Native binaries for imgui-java binding for Linux'
moduleName = 'imgui.natives.linux'
libName = 'libimgui-java64.so'
break
case 'macos':
packageName = 'imgui-java-natives-macos'
packageDesc = 'Native binaries for imgui-java binding for MacOS'
moduleName = 'imgui.natives.macos'
libName = 'libimgui-java64.dylib'
break
case 'macosarm64':
packageName = 'imgui-java-natives-macos-arm64'
packageDesc = 'Native binaries for imgui-java binding for MacOS arm64'
moduleName = 'imgui.natives.macos-arm64'
libName = 'libimgui-javaarm64.dylib'
break
}
if (findProperty('freetype') == 'true') {
packageName += '-ft'
packageDesc += ' with Freetype support'
fromDir += '/freetype'
}
jar {
from(fromDir) {
include "$libName" // this is fine
into 'io/imgui/java/native-bin/'
}
manifest {
attributes 'Automatic-Module-Name': moduleName
}
}
apply from: "$rootDir/publish.gradle"
configurePublishing(packageName, packageDesc, project.version)