build.xml 4.8 KB

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