build.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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. </exec>
  36. <copy file="libs/armeabi/libZeroTierOneJNI.so"
  37. tofile="${user.dir}/classes/lib/armeabi/libZeroTierOneJNI.so"
  38. overwrite="true"/>
  39. <copy file="libs/arm64-v8a/libZeroTierOneJNI.so"
  40. tofile="${user.dir}/classes/lib/arm64-v8a/libZeroTierOneJNI.so"
  41. overwrite="true"/>
  42. <copy file="libs/armeabi-v7a/libZeroTierOneJNI.so"
  43. tofile="${user.dir}/classes/lib/armeabi-v7a/libZeroTierOneJNI.so"
  44. overwrite="true"/>
  45. <copy file="libs/x86/libZeroTierOneJNI.so"
  46. tofile="${user.dir}/classes/lib/x86/libZeroTierOneJNI.so"
  47. overwrite="true"/>
  48. </target>
  49. <target name="windows" if="isWindows">
  50. <mkdir dir="build_win32"/>
  51. <exec dir="build_win32/" executable="cmake" failonerror="true">
  52. <arg line=".. -G&quot;Visual Studio 11 2012&quot; -DCMAKE_BUILD_TYPE=Release"/>
  53. </exec>
  54. <exec dir="build_win32/" executable="cmake" failonerror="true">
  55. <arg line="--build . --config Release"/>
  56. </exec>
  57. <copy file="build_win32/Release/ZeroTierOneJNI.dll"
  58. tofile="classes/lib/ZeroTierOneJNI_win32.dll"
  59. overwrite="true"/>
  60. <mkdir dir="build_win64"/>
  61. <exec dir="build_win64/" executable="cmake" failonerror="true">
  62. <arg line=".. -G&quot;Visual Studio 11 2012 Win64&quot; -DCMAKE_BUILD_TYPE=Release"/>
  63. </exec>
  64. <exec dir="build_win64/" executable="cmake" failonerror="true">
  65. <arg line="--build . --config Release"/>
  66. </exec>
  67. <copy file="build_win64/Release/ZeroTierOneJNI.dll"
  68. tofile="classes/lib/ZeroTierOneJNI_win64.dll"
  69. overwrite="true"/>
  70. </target>
  71. <target name="mac" if="isMac">
  72. <mkdir dir="mac32_64"/>
  73. <exec dir="mac32_64/" executable="cmake" failonerror="true">
  74. <arg line=".. -DCMAKE_BUILD_TYPE=Release"/>
  75. </exec>
  76. <exec dir="mac32_64/" executable="cmake" failonerror="true">
  77. <arg line="--build . --config Release"/>
  78. </exec>
  79. <copy file="mac32_64/libZeroTierOneJNI.jnilib"
  80. tofile="classes/lib/libZeroTierOneJNI.jnilib"
  81. overwrite="true"/>
  82. </target>
  83. <target name="build" depends="build_java,build_android,windows,mac">
  84. <jar destfile="bin/ZeroTierOneSDK.jar" basedir="classes"/>
  85. </target>
  86. <target name="docs">
  87. <echo message="Generating Javadocs"/>
  88. <mkdir dir="doc/"/>
  89. <javadoc sourcepath="src/"
  90. destdir="doc/"/>
  91. </target>
  92. <!-- <target name="android" depends="build">
  93. <echo message="OS is Android, installing..."/>
  94. <copy file="libs/armeabi/libZeroTierOneJNI.so"
  95. tofile="${aproj_loc}/libs/armeabi/libZeroTierOneJNI.so"
  96. overwrite="true"/>
  97. <copy file="libs/arm64-v8a/libZeroTierOneJNI.so"
  98. tofile="${aproj_loc}/libs/arm64-v8a/libZeroTierOneJNI.so"
  99. overwrite="true"/>
  100. <copy file="libs/armeabi-v7a/libZeroTierOneJNI.so"
  101. tofile="${aproj_loc}/libs/armeabi-v7a/libZeroTierOneJNI.so"
  102. overwrite="true"/>
  103. <copy file="libs/x86/libZeroTierOneJNI.so"
  104. tofile="${aproj_loc}/libs/x86/libZeroTierOneJNI.so"
  105. overwrite="true"/>
  106. <copy file="bin/ZeroTierOneSDK.jar"
  107. tofile="${aproj_loc}/libs/ZeroTierOneSDK.jar"
  108. overwrite="true"/>
  109. </target> -->
  110. </project>