1:: Set android ndk root
2@ECHO OFF
3@SETLOCAL
4@SET ANDROID_NDK=<your-ndk-root_path, such as"E:\android-ndk-r18b">
5@SET VULKAN_SDK=<your-vulkan-toolkit_path, such as"D:\VulkanSDK\1.1.106.0\Bin">
6
7:: Set ninja.exe
8:: @SET NINJA_EXE=<your-ninja-exe_path, such as"D:\android\sdk\cmake\3.10.2.4988404\bin\ninja.exe">
9
10:: android armv7
11mkdir build-android-armv7
12pushd build-android-armv7
13cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-21 ..
14:: cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%/build/cmake/android.toolchain.cmake"  -DCMAKE_MAKE_PROGRAM=%NINJA_EXE%  -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON  -DANDROID_PLATFORM=android-21 ..
15cmake --build . --parallel %NUMBER_OF_PROCESSORS%
16cmake --build . --target install
17popd
18
19:: android armv7 vulkan
20mkdir build-android-armv7-vulkan
21pushd build-android-armv7-vulkan
22cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON ..
23cmake --build . --parallel %NUMBER_OF_PROCESSORS%
24cmake --build . --target install
25popd
26
27:: android aarch64
28mkdir build-android-aarch64
29pushd build-android-aarch64
30cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 ..
31cmake --build . --parallel %NUMBER_OF_PROCESSORS%
32cmake --build . --target install
33popd
34
35:: android aarch64 vulkan
36mkdir build-android-aarch64-vulkan
37pushd build-android-aarch64-vulkan
38cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON ..
39cmake --build . --parallel %NUMBER_OF_PROCESSORS%
40cmake --build . --target install
41popd
42
43:: android x86
44mkdir build-android-x86
45pushd build-android-x86
46cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-19 ..
47cmake --build . --parallel %NUMBER_OF_PROCESSORS%
48cmake --build . --target install
49popd
50
51:: android x86_64
52mkdir build-android-x86_64
53pushd build-android-x86_64
54cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe" -DANDROID_ABI="x86_64" -DANDROID_PLATFORM=android-21 ..
55cmake --build . --parallel %NUMBER_OF_PROCESSORS%
56cmake --build . --target install
57popd
58
59@ENDLOCAL
60