summaryrefslogtreecommitdiff
path: root/java/build.xml
diff options
context:
space:
mode:
authorGrant Limberg <glimberg@gmail.com>2015-04-30 21:50:28 -0700
committerGrant Limberg <glimberg@gmail.com>2015-04-30 21:50:28 -0700
commit0a15eae00f7360930dad1fcfb25f02c15c930710 (patch)
treebc3869b0053acfb068d2cf3f4d964028b7990560 /java/build.xml
parent75d71370258b102144a1f5941b64f35ddf815a8c (diff)
downloadinfinitytier-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.xml40
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&quot;Visual Studio 11 2012&quot; -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&quot;Visual Studio 11 2012 Win64&quot; -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>