-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Killing Ant. Replacing with java support for executing compilation linking and packaging. Also MSVC toolchain target #69
base: v3.0
Are you sure you want to change the base?
Conversation
gdx-jnigen/src/main/java/com/badlogic/gdx/jnigen/BuildTarget.java
Outdated
Show resolved
Hide resolved
gdx-jnigen/src/main/java/com/badlogic/gdx/jnigen/BuildTarget.java
Outdated
Show resolved
Hide resolved
@PokeMMO @SimonIT @Berstanio this is ready for a review now, I've added a list of all the things that have changed in this in the PR description |
How bout our lord and savior CMake? :p |
safeAddMavenPublication("jnigenPackageAndroid_arm64-v8a", project, mavenPublication, "natives-arm64-v8a"); | ||
safeAddMavenPublication("jnigenPackageAndroid_armeabi-v7a", project, mavenPublication, "natives-armeabi-v7a"); | ||
safeAddMavenPublication("jnigenPackageAndroid_x86", project, mavenPublication, "natives-x86"); | ||
safeAddMavenPublication("jnigenPackageAndroid_x86_64", project, mavenPublication, "natives-x86_64"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't we iterate over the AndroidABI
enum? I don't really like it hard-coded
return targetsThatMatchOS; | ||
} | ||
|
||
public static void main (String[] args) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to keep the main?
Ant kill
Ant is pretty annoying to maintain, and restrictive for things that we want to do, like separating out build targets for ios sim/device targets. No more ant scripts! All of it can be done logically in jnigen api to be executed via code/gradle.
MSVC support
Motivation for this:
Some third party libraries that don't expose source, or are too highly chained to MSVC make it impossible to use with jnigen, due to abi differences and name mangling not being compatible with mingw etc cross compilers on windows. As a fix for this, we can have a separate MSVC build target, so we can still have jni bindings that can target the same code base but just with a different build backend for when libs/source of external libraries are only MSVC compatible.
Features/Changes