-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathandroidcmake.sh
executable file
·42 lines (35 loc) · 1.42 KB
/
androidcmake.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/darwin-x86_64
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
export SYS_ROOT="$ANDROID_NDK/platforms/android-27/arch-arm64"
# Only choose one of these, depending on your device...
# export TARGET=armv7a-linux-androideabi
export TARGET=aarch64-linux-android
# Set this to your minSdkVersion.
export API=27
# Configure and build.
export AR=$TOOLCHAIN/bin/llvm-ar
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export AS=$CC
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
export OPENSSL_ROOT_DIR=/usr/local/android
export ANDROID_PLATFORM=android-27
export INSTALL_DIR=/usr/local/android
# -DANDROID_ABI="armeabi-v7a" \
# -DANDROID_TOOLCHAIN_NAME="armv7a-linux-androideabi" \
# -DENABLE_SSL=OFF \
cmake -DANDROID=true \
-DCMAKE_CROSSCOMPILING=true \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-DANDROID_NDK=$ANDROID_NDK \
-DANDROID_PLATFORM=$ANDROID_PLATFORM \
-DANDROID_ABI="arm64-v8a" \
-DANDROID_NDK_HOST_X64="YES" \
-DANDROID_TOOLCHAIN_NAME="aarch64-linux-android" \
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \
-DOPENSSL_CRYPTO_LIBRARY="/usr/local/android/lib/libcrypto.so" \
-DOPENSSL_INCLUDE_DIR="$OPENSSL_ROOT_DIR/include" \
-DOPENSSL_SSL_LIBRARY="$OPENSSL_ROOT_DIR/lib/libssl.so" \
..