diff options
| author | Grant Limberg <glimberg@gmail.com> | 2015-04-30 21:50:28 -0700 |
|---|---|---|
| committer | Grant Limberg <glimberg@gmail.com> | 2015-04-30 21:50:28 -0700 |
| commit | 0a15eae00f7360930dad1fcfb25f02c15c930710 (patch) | |
| tree | bc3869b0053acfb068d2cf3f4d964028b7990560 /java/build.xml | |
| parent | 75d71370258b102144a1f5941b64f35ddf815a8c (diff) | |
| download | infinitytier-0a15eae00f7360930dad1fcfb25f02c15c930710.tar.gz infinitytier-0a15eae00f7360930dad1fcfb25f02c15c930710.zip | |
Setup native build for Windows Java.
Still need to do Mac & Linux
Diffstat (limited to 'java/build.xml')
| -rw-r--r-- | java/build.xml | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/java/build.xml b/java/build.xml index 2057a509..0ee27185 100644 --- a/java/build.xml +++ b/java/build.xml @@ -1,15 +1,20 @@ <project default="build" name="ZeroTierOneSDK"> <property environment="env"/> + <condition property="isWindows"> + <os family="windows"/> + </condition> + <target name="clean"> <delete dir="bin" failonerror="false"/> <delete dir="classes" failonerror="false"/> + <delete dir="cmakebuild" failonerror="false"/> <delete dir="libs" failonerror="false"/> <delete dir="obj" failonerror="false"/> </target> - <target name="build"> - <echo message="os.name = ${os.name}"/> + <target name="build_java"> + <echo message="os.name = ${os.name}"/> <echo message="os.arch = ${os.arch}"/> <echo message="ant.java.version = ${ant.java.version}"/> <echo message="java.version = ${java.version}"/> @@ -19,6 +24,9 @@ destdir="classes" classpath="${env.ANDROID_PLATFORM}/android.jar" includeantruntime="false"/> + </target> + + <target name="build_android"> <exec dir="jni" executable="${env.NDK_BUILD_LOC}" failonerror="true"> <arg value="ZT1=${user.dir}/../"/> </exec> @@ -34,6 +42,34 @@ <copy file="libs/x86/libZeroTierOneJNI.so" tofile="${user.dir}/classes/lib/x86/libZeroTierOneJNI.so" overwrite="true"/> + </target> + + + <target name="windows" if="isWindows"> + <mkdir dir="build_win32"/> + <exec dir="build_win32/" executable="cmake" failonerror="true"> + <arg line=".. -G"Visual Studio 11 2012" -DCMAKE_BUILD_TYPE=Release"/> + </exec> + <exec dir="build_win32/" executable="cmake" failonerror="true"> + <arg line="--build . --config Release"/> + </exec> + <copy file="build_win32/Release/ZeroTierOneJNI.dll" + tofile="classes/lib/ZeroTierOneJNI_win32.dll" + overwrite="true"/> + + <mkdir dir="build_win64"/> + <exec dir="build_win64/" executable="cmake" failonerror="true"> + <arg line=".. -G"Visual Studio 11 2012 Win64" -DCMAKE_BUILD_TYPE=Release"/> + </exec> + <exec dir="build_win64/" executable="cmake" failonerror="true"> + <arg line="--build . --config Release"/> + </exec> + <copy file="build_win64/Release/ZeroTierOneJNI.dll" + tofile="classes/lib/ZeroTierOneJNI_win64.dll" + overwrite="true"/> + </target> + + <target name="build" depends="build_java,build_android,windows"> <jar destfile="bin/ZeroTierOneSDK.jar" basedir="classes"/> </target> |
