You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.5 KiB
118 lines
4.5 KiB
<project default="build_jar" name="ZeroTierOneSDK" basedir="."> |
|
<property environment="env"/> |
|
|
|
<condition property="isWindows"> |
|
<os family="windows"/> |
|
</condition> |
|
|
|
<condition property="isMac"> |
|
<os family="mac"/> |
|
</condition> |
|
|
|
<target name="clean_ant"> |
|
<delete dir="bin" failonerror="false"/> |
|
<delete dir="classes" failonerror="false"/> |
|
<delete dir="build_win32" failonerror="false"/> |
|
<delete dir="build_win64" failonerror="false"/> |
|
<delete dir="mac32_64" failonerror="false"/> |
|
<delete dir="libs" failonerror="false"/> |
|
<delete dir="obj" failonerror="false"/> |
|
</target> |
|
|
|
<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}"/> |
|
<echo message="ndk.loc = ${env.NDK_BUILD_LOC}"/> |
|
<echo message="sdk.loc = ${env.ANDROID_PLATFORM}"/> |
|
<echo message="user.dir = ${user.dir}"/> |
|
<echo message="zt1.dir = ${env.ZT}"/> |
|
<mkdir dir="bin"/> |
|
<mkdir dir="classes"/> |
|
<javac srcdir="src" |
|
destdir="classes" |
|
source="1.7" |
|
target="1.7" |
|
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=${env.ZT}"/> |
|
<arg value="V=1"/> |
|
<!-- <arg value="NDK_DEBUG=1"/> --> |
|
</exec> |
|
<copy file="libs/arm64-v8a/libZeroTierOneJNI.so" |
|
tofile="classes/lib/arm64-v8a/libZeroTierOneJNI.so" |
|
overwrite="true"/> |
|
<copy file="libs/armeabi/libZeroTierOneJNI.so" |
|
tofile="classes/lib/armeabi/libZeroTierOneJNI.so" |
|
overwrite="true"/> |
|
<copy file="libs/armeabi-v7a/libZeroTierOneJNI.so" |
|
tofile="classes/lib/armeabi-v7a/libZeroTierOneJNI.so" |
|
overwrite="true"/> |
|
<copy file="libs/mips/libZeroTierOneJNI.so" |
|
tofile="classes/lib/mips/libZeroTierOneJNI.so" |
|
overwrite="true"/> |
|
<copy file="libs/mips64/libZeroTierOneJNI.so" |
|
tofile="classes/lib/mips64/libZeroTierOne.so" |
|
overwrite="true"/> |
|
<copy file="libs/x86/libZeroTierOneJNI.so" |
|
tofile="classes/lib/x86/libZeroTierOneJNI.so" |
|
overwrite="true"/> |
|
<copy file="libs/x86_64/libZeroTierOneJNI.so" |
|
tofile="classes/lib/x86_64/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="mac" if="isMac"> |
|
<mkdir dir="mac32_64"/> |
|
<exec dir="mac32_64/" executable="cmake" failonerror="true"> |
|
<arg line=".. -DCMAKE_BUILD_TYPE=Release"/> |
|
</exec> |
|
<exec dir="mac32_64/" executable="cmake" failonerror="true"> |
|
<arg line="--build . --config Release"/> |
|
</exec> |
|
<copy file="mac32_64/libZeroTierOneJNI.jnilib" |
|
tofile="classes/lib/libZeroTierOneJNI.jnilib" |
|
overwrite="true"/> |
|
</target> |
|
|
|
<target name="build_jar" depends="build_java,build_android,windows,mac"> |
|
<jar destfile="bin/ZeroTierOneSDK.jar" basedir="classes"/> |
|
</target> |
|
|
|
<target name="docs"> |
|
<echo message="Generating Javadocs"/> |
|
<mkdir dir="doc/"/> |
|
<javadoc sourcepath="src/" |
|
destdir="doc/"/> |
|
</target> |
|
</project> |