You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.sh 4.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. #!/usr/bin/env bash
  2. ##### android armv7
  3. mkdir -p build-android-armv7
  4. pushd build-android-armv7
  5. cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-14 ..
  6. make
  7. make install
  8. popd
  9. ##### android aarch64
  10. mkdir -p build-android-aarch64
  11. pushd build-android-aarch64
  12. cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-21 ..
  13. make
  14. make install
  15. popd
  16. ##### android armv7 without neon
  17. mkdir -p build-android-armv7-without-neon
  18. pushd build-android-armv7-without-neon
  19. cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="armeabi-v7a" -DANDROID_PLATFORM=android-14 ..
  20. make
  21. make install
  22. popd
  23. ##### android armv7 vulkan
  24. mkdir -p build-android-armv7-vulkan
  25. pushd build-android-armv7-vulkan
  26. cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON ..
  27. make
  28. make install
  29. popd
  30. ##### android aarch64 vulkan
  31. mkdir -p build-android-aarch64-vulkan
  32. pushd build-android-aarch64-vulkan
  33. cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON ..
  34. make
  35. make install
  36. popd
  37. ##### linux of hisiv300 (forgot the chip name) toolchain with neon and openmp
  38. mkdir -p build-hisiv300-linux
  39. pushd build-hisiv300-linux
  40. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/hisiv300.toolchain.cmake ..
  41. make
  42. make install
  43. popd
  44. ##### linux of hisiv500 (Hi3516CV200 and Hi3519V101) toolchain with neon and openmp
  45. mkdir -p build-hisiv500-linux
  46. pushd build-hisiv500-linux
  47. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/hisiv500.toolchain.cmake ..
  48. make
  49. make install
  50. popd
  51. ##### linux of himix100 (Hi3559a) toolchain with neon and openmp
  52. mkdir -p build-himix100-linux
  53. pushd build-himix100-linux
  54. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/himix100.toolchain.cmake ..
  55. make
  56. make install
  57. popd
  58. ##### linux of arm-linux-gnueabi toolchain
  59. mkdir -p build-arm-linux-gnueabi
  60. pushd build-arm-linux-gnueabi
  61. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabi.toolchain.cmake ..
  62. make
  63. make install
  64. popd
  65. ##### linux of arm-linux-gnueabihf toolchain
  66. mkdir -p build-arm-linux-gnueabihf
  67. pushd build-arm-linux-gnueabihf
  68. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-linux-gnueabihf.toolchain.cmake ..
  69. make
  70. make install
  71. popd
  72. ##### linux for aarch64-linux-gnu toolchain
  73. mkdir -p build-aarch64-linux-gnu
  74. pushd build-aarch64-linux-gnu
  75. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..
  76. make
  77. make install
  78. popd
  79. ##### linux host system with gcc/g++
  80. mkdir -p build-host-gcc-linux
  81. pushd build-host-gcc-linux
  82. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/host.gcc.toolchain.cmake ..
  83. make
  84. make install
  85. popd
  86. ##### ios armv7 arm64
  87. mkdir -p build-ios
  88. pushd build-ios
  89. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/iosxc.toolchain.cmake ..
  90. make
  91. make install
  92. popd
  93. ##### ios simulator i386 x86_64
  94. mkdir -p build-ios-sim
  95. pushd build-ios-sim
  96. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/iossimxc.toolchain.cmake ..
  97. make
  98. make install
  99. popd
  100. ##### ios arm64 vulkan
  101. mkdir -p build-ios-vulkan
  102. pushd build-ios-vulkan
  103. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/iosxc-arm64.toolchain.cmake -DVulkan_INCLUDE_DIR=${VULKAN_SDK}/MoltenVK/include -DVulkan_LIBRARY=${VULKAN_SDK}/MoltenVK/iOS/MoltenVK.framework/MoltenVK -DNCNN_VULKAN=ON ..
  104. make
  105. make install
  106. popd
  107. ##### ios simulator x86_64 vulkan
  108. mkdir -p build-ios-sim-vulkan
  109. pushd build-ios-sim-vulkan
  110. cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/iossimxc-x64.toolchain.cmake -DVulkan_INCLUDE_DIR=${VULKAN_SDK}/MoltenVK/include -DVulkan_LIBRARY=${VULKAN_SDK}/MoltenVK/iOS/MoltenVK.framework/MoltenVK -DNCNN_VULKAN=ON ..
  111. make
  112. make install
  113. popd
  114. ##### MacOS
  115. mkdir -p build-mac
  116. pushd build-mac
  117. cmake -DNCNN_OPENMP=OFF \
  118. -DNCNN_OPENCV=ON \
  119. -DNCNN_BENCHMARK=ON \
  120. ..
  121. make -j 8
  122. make install
  123. popd