- Static FreeType linking flow for all OS - Flow to build universal binaries for macOS (x86_64, aarch64) - Simplified CI workflow by removing FreeType branches from the build matrix Added 2 new scripts: 1. `buildSrc/scripts/vendor_freetype.sh` 2. `buildSrc/scripts/build.sh` The first script prepares FreeType for usage in the build process. The result of this script is used in the `GenerateLibs` task. Other ways of building with FreeType are removed. If it's impossible to build with FreeType, it is recommended to set `freetype=false`. The second script aggregates commands to build native binaries. It includes specific steps, such as creating a universal library for macOS and copying the result to the specific folder `/tmp/imgui/dst`. Script 1 can be used for local builds. Script 2 is primarily intended for use in CI.
50 lines
1.1 KiB
Groovy
50 lines
1.1 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'com.github.johnrengelman.shadow' version '7.1.2'
|
|
id 'checkstyle'
|
|
id 'maven-publish'
|
|
id 'signing'
|
|
}
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion.set(JavaLanguageVersion.of(8))
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
api platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
|
|
|
|
api 'org.lwjgl:lwjgl'
|
|
api 'org.lwjgl:lwjgl-glfw'
|
|
api 'org.lwjgl:lwjgl-opengl'
|
|
|
|
['natives-linux', 'natives-windows', 'natives-macos', 'natives-macos-arm64'].each {
|
|
api "org.lwjgl:lwjgl::$it"
|
|
api "org.lwjgl:lwjgl-glfw::$it"
|
|
api "org.lwjgl:lwjgl-opengl::$it"
|
|
}
|
|
|
|
api project(':imgui-binding')
|
|
api project(':imgui-lwjgl3')
|
|
}
|
|
|
|
jar {
|
|
from('../bin') {
|
|
include 'imgui-java64.dll'
|
|
include 'libimgui-java64.so'
|
|
include 'libimgui-java64.dylib'
|
|
into 'io/imgui/java/native-bin/'
|
|
}
|
|
manifest {
|
|
attributes 'Automatic-Module-Name': 'imgui.app'
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
with jar
|
|
}
|
|
|
|
apply from: "$rootDir/publish.gradle"
|
|
configurePublishing('imgui-java-app', 'Application wrapper for Dear ImGui', project.version)
|