# Author: Declan Moran # www.silverglint.com # Thanks to damaex (https://github.com/damaex), for significant contributions ANDROID_NDK_ROOT=/home/android/android-ndk-r19c INSTALL_DIR=install BUILD_DIR=build START_DIR=$(pwd) rm -rf $INSTALL_DIR rm -rf $BUILD_DIR mkdir -p $BUILD_DIR #"${ANDROID_TARGET_PLATFORM}" #-------------------------------------------------------------------- build_it() { # builds either a static or shared lib depending on parm passed (ON or OFF) want_shared=$1 cmake -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake \ -DCMAKE_INSTALL_PREFIX:PATH=../../${INSTALL_DIR}/${ANDROID_TARGET_PLATFORM} \ -DANDROID_ABI=${ANDROID_TARGET_PLATFORM} \ -DENABLE_OPENSSL:BOOL=OFF \ -DENABLE_COMMONCRYPTO:BOOL=OFF \ -DENABLE_GNUTLS:BOOL=OFF \ -DENABLE_MBEDTLS:BOOL=OFF \ -DENABLE_OPENSSL:BOOL=OFF \ -DENABLE_WINDOWS_CRYPTO:BOOL=OFF \ -DBUILD_TOOLS:BOOL=OFF \ -DBUILD_REGRESS:BOOL=OFF \ -DBUILD_EXAMPLES:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=$want_shared \ -DBUILD_DOC:BOOL=OFF \ -DANDROID_TOOLCHAIN=clang cmake -H.. -B$BUILD_DIR/${ANDROID_TARGET_PLATFORM} #run make with all system threads and install cd $BUILD_DIR/${ANDROID_TARGET_PLATFORM} make install -j$(nproc --all) cd $START_DIR } #-------------------------------------------------------------------- for ANDROID_TARGET_PLATFORM in armeabi-v7a arm64-v8a x86 x86_64 do echo "Building libzip for ${ANDROID_TARGET_PLATFORM}" build_it ON build_it OFF if [ $? -ne 0 ]; then echo "Error executing: cmake" exit 1 fi if [ $? -ne 0 ]; then echo "Error executing make install for platform: ${ANDROID_TARGET_PLATFORM}" exit 1 fi done