build.xml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <project default="build" name="ZeroTierOneSDK" basedir=".">
  2. <property environment="env"/>
  3. <condition property="isWindows">
  4. <os family="windows"/>
  5. </condition>
  6. <target name="clean">
  7. <delete dir="bin" failonerror="false"/>
  8. <delete dir="classes" failonerror="false"/>
  9. <delete dir="build_win32" failonerror="false"/>
  10. <delete dir="build_win64" failonerror="false"/>
  11. <delete dir="libs" failonerror="false"/>
  12. <delete dir="obj" failonerror="false"/>
  13. </target>
  14. <target name="build_java">
  15. <echo message="os.name = ${os.name}"/>
  16. <echo message="os.arch = ${os.arch}"/>
  17. <echo message="ant.java.version = ${ant.java.version}"/>
  18. <echo message="java.version = ${java.version}"/>
  19. <mkdir dir="bin"/>
  20. <mkdir dir="classes"/>
  21. <javac srcdir="src"
  22. destdir="classes"
  23. classpath="${env.ANDROID_PLATFORM}/android.jar"
  24. includeantruntime="false"/>
  25. </target>
  26. <target name="build_android">
  27. <exec dir="jni" executable="${env.NDK_BUILD_LOC}" failonerror="true">
  28. <arg value="ZT1=${user.dir}/../"/>
  29. </exec>
  30. <copy file="libs/armeabi/libZeroTierOneJNI.so"
  31. tofile="${user.dir}/classes/lib/armeabi/libZeroTierOneJNI.so"
  32. overwrite="true"/>
  33. <copy file="libs/arm64-v8a/libZeroTierOneJNI.so"
  34. tofile="${user.dir}/classes/lib/arm64-v8a/libZeroTierOneJNI.so"
  35. overwrite="true"/>
  36. <copy file="libs/armeabi-v7a/libZeroTierOneJNI.so"
  37. tofile="${user.dir}/classes/lib/armeabi-v7a/libZeroTierOneJNI.so"
  38. overwrite="true"/>
  39. <copy file="libs/x86/libZeroTierOneJNI.so"
  40. tofile="${user.dir}/classes/lib/x86/libZeroTierOneJNI.so"
  41. overwrite="true"/>
  42. </target>
  43. <target name="windows" if="isWindows">
  44. <mkdir dir="build_win32"/>
  45. <exec dir="build_win32/" executable="cmake" failonerror="true">
  46. <arg line=".. -G&quot;Visual Studio 11 2012&quot; -DCMAKE_BUILD_TYPE=Release"/>
  47. </exec>
  48. <exec dir="build_win32/" executable="cmake" failonerror="true">
  49. <arg line="--build . --config Release"/>
  50. </exec>
  51. <copy file="build_win32/Release/ZeroTierOneJNI.dll"
  52. tofile="classes/lib/ZeroTierOneJNI_win32.dll"
  53. overwrite="true"/>
  54. <mkdir dir="build_win64"/>
  55. <exec dir="build_win64/" executable="cmake" failonerror="true">
  56. <arg line=".. -G&quot;Visual Studio 11 2012 Win64&quot; -DCMAKE_BUILD_TYPE=Release"/>
  57. </exec>
  58. <exec dir="build_win64/" executable="cmake" failonerror="true">
  59. <arg line="--build . --config Release"/>
  60. </exec>
  61. <copy file="build_win64/Release/ZeroTierOneJNI.dll"
  62. tofile="classes/lib/ZeroTierOneJNI_win64.dll"
  63. overwrite="true"/>
  64. </target>
  65. <target name="build" depends="build_java,build_android,windows">
  66. <jar destfile="bin/ZeroTierOneSDK.jar" basedir="classes"/>
  67. </target>
  68. <target name="docs">
  69. <echo message="Generating Javadocs"/>
  70. <mkdir dir="doc/"/>
  71. <javadoc sourcepath="src/"
  72. destdir="doc/"/>
  73. </target>
  74. <!-- <target name="android" depends="build">
  75. <echo message="OS is Android, installing..."/>
  76. <copy file="libs/armeabi/libZeroTierOneJNI.so"
  77. tofile="${aproj_loc}/libs/armeabi/libZeroTierOneJNI.so"
  78. overwrite="true"/>
  79. <copy file="libs/arm64-v8a/libZeroTierOneJNI.so"
  80. tofile="${aproj_loc}/libs/arm64-v8a/libZeroTierOneJNI.so"
  81. overwrite="true"/>
  82. <copy file="libs/armeabi-v7a/libZeroTierOneJNI.so"
  83. tofile="${aproj_loc}/libs/armeabi-v7a/libZeroTierOneJNI.so"
  84. overwrite="true"/>
  85. <copy file="libs/x86/libZeroTierOneJNI.so"
  86. tofile="${aproj_loc}/libs/x86/libZeroTierOneJNI.so"
  87. overwrite="true"/>
  88. <copy file="bin/ZeroTierOneSDK.jar"
  89. tofile="${aproj_loc}/libs/ZeroTierOneSDK.jar"
  90. overwrite="true"/>
  91. </target> -->
  92. </project>