diff --git a/scripts/compile_libs/cmake_lib_compile.sh b/scripts/compile_libs/cmake_lib_compile.sh index 066e0c24b..775584e11 100755 --- a/scripts/compile_libs/cmake_lib_compile.sh +++ b/scripts/compile_libs/cmake_lib_compile.sh @@ -15,73 +15,73 @@ fi COMPILEFLAGS=$3 LINKFLAGS=$4 -function compile_source() { - if [[ "${4}" == "android" ]]; then - cmake \ - -H. \ - -G "Unix Makefiles" \ - -DCMAKE_BUILD_TYPE=Release \ - -DANDROID_PLATFORM="android-$1" \ - -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake" \ - -DANDROID_NDK="$ANDROID_NDK_HOME" \ - -DANDROID_ABI="${3}" \ - -DANDROID_ARM_NEON=TRUE \ - -DCMAKE_ANDROID_NDK="$ANDROID_NDK_HOME" \ - -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION="$1" \ - -DCMAKE_ANDROID_ARCH_ABI="${3}" \ - -B"$2" \ - -DBUILD_SHARED_LIBS=OFF \ - -DHIDAPI_SKIP_LIBUSB=TRUE \ - -DCURL_USE_OPENSSL=ON \ - -DSDL_HIDAPI=OFF \ - -DOP_DISABLE_HTTP=ON \ - -DOP_DISABLE_EXAMPLES=ON \ - -DOP_DISABLE_DOCS=ON \ - -DOPENSSL_ROOT_DIR="$PWD"/../openssl/"$2" \ - -DOPENSSL_CRYPTO_LIBRARY="$PWD"/../openssl/"$2"/libcrypto.a \ - -DOPENSSL_SSL_LIBRARY="$PWD"/../openssl/"$2"/libssl.a \ - -DOPENSSL_INCLUDE_DIR="${PWD}/../openssl/include;${PWD}/../openssl/${2}/include" - ( - cd "$2" || exit 1 - cmake --build . - ) - else - ${5} cmake \ - -H. \ - -DCMAKE_BUILD_TYPE=Release \ - -B"$2" \ - -DSDL_STATIC=TRUE \ - -DFT_DISABLE_HARFBUZZ=ON \ - -DFT_DISABLE_BZIP2=ON \ - -DFT_DISABLE_BROTLI=ON \ - -DFT_REQUIRE_ZLIB=TRUE \ - -DCMAKE_C_FLAGS="$COMPILEFLAGS -DGLEW_STATIC" -DCMAKE_CXX_FLAGS="$COMPILEFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$COMPILEFLAGS" -DCMAKE_C_FLAGS_RELEASE="$COMPILEFLAGS" \ - -DCMAKE_SHARED_LINKER_FLAGS="$LINKFLAGS" -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LINKFLAGS" \ - -DSDL_PTHREADS=ON -DSDL_THREADS=ON \ - -DCURL_USE_OPENSSL=ON \ - -DOPUS_HARDENING=OFF \ - -DOPUS_STACK_PROTECTOR=OFF \ - -DOPENSSL_ROOT_DIR="$PWD"/../openssl/"$2" \ - -DOPENSSL_CRYPTO_LIBRARY="$PWD"/../openssl/"$2"/libcrypto.a \ - -DOPENSSL_SSL_LIBRARY="$PWD"/../openssl/"$2"/libssl.a \ - -DOPENSSL_INCLUDE_DIR="${PWD}/../openssl/include;${PWD}/../openssl/${2}/include" \ - -DZLIB_LIBRARY="${PWD}/../zlib/${2}/libz.a" -DZLIB_INCLUDE_DIR="${PWD}/../zlib;${PWD}/../zlib/${2}" - ( - cd "$2" || exit 1 - cmake --build . - ) - fi +function compile_source_android() { + cmake \ + -H. \ + -G "Unix Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DANDROID_PLATFORM="android-$1" \ + -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake" \ + -DANDROID_NDK="$ANDROID_NDK_HOME" \ + -DANDROID_ABI="${3}" \ + -DANDROID_ARM_NEON=TRUE \ + -DCMAKE_ANDROID_NDK="$ANDROID_NDK_HOME" \ + -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION="$1" \ + -DCMAKE_ANDROID_ARCH_ABI="${3}" \ + -B"$2" \ + -DBUILD_SHARED_LIBS=OFF \ + -DHIDAPI_SKIP_LIBUSB=TRUE \ + -DCURL_USE_OPENSSL=ON \ + -DSDL_HIDAPI=OFF \ + -DOP_DISABLE_HTTP=ON \ + -DOP_DISABLE_EXAMPLES=ON \ + -DOP_DISABLE_DOCS=ON \ + -DOPENSSL_ROOT_DIR="$PWD"/../openssl/"$2" \ + -DOPENSSL_CRYPTO_LIBRARY="$PWD"/../openssl/"$2"/libcrypto.a \ + -DOPENSSL_SSL_LIBRARY="$PWD"/../openssl/"$2"/libssl.a \ + -DOPENSSL_INCLUDE_DIR="${PWD}/../openssl/include;${PWD}/../openssl/${2}/include" + ( + cd "$2" || exit 1 + cmake --build . + ) +} + +function compile_source_webasm() { + emcmake cmake \ + -H. \ + -DCMAKE_BUILD_TYPE=Release \ + -B"$2" \ + -DSDL_STATIC=TRUE \ + -DFT_DISABLE_HARFBUZZ=ON \ + -DFT_DISABLE_BZIP2=ON \ + -DFT_DISABLE_BROTLI=ON \ + -DFT_REQUIRE_ZLIB=TRUE \ + -DCMAKE_C_FLAGS="$COMPILEFLAGS -DGLEW_STATIC" -DCMAKE_CXX_FLAGS="$COMPILEFLAGS" -DCMAKE_CXX_FLAGS_RELEASE="$COMPILEFLAGS" -DCMAKE_C_FLAGS_RELEASE="$COMPILEFLAGS" \ + -DCMAKE_SHARED_LINKER_FLAGS="$LINKFLAGS" -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LINKFLAGS" \ + -DSDL_PTHREADS=ON -DSDL_THREADS=ON \ + -DCURL_USE_OPENSSL=ON \ + -DOPUS_HARDENING=OFF \ + -DOPUS_STACK_PROTECTOR=OFF \ + -DOPENSSL_ROOT_DIR="$PWD"/../openssl/"$2" \ + -DOPENSSL_CRYPTO_LIBRARY="$PWD"/../openssl/"$2"/libcrypto.a \ + -DOPENSSL_SSL_LIBRARY="$PWD"/../openssl/"$2"/libssl.a \ + -DOPENSSL_INCLUDE_DIR="${PWD}/../openssl/include;${PWD}/../openssl/${2}/include" \ + -DZLIB_LIBRARY="${PWD}/../zlib/${2}/libz.a" -DZLIB_INCLUDE_DIR="${PWD}/../zlib;${PWD}/../zlib/${2}" + ( + cd "$2" || exit 1 + cmake --build . + ) } if [[ "${2}" == "android" ]]; then - compile_source "$1" build_"$2"_arm armeabi-v7a "$2" "" & - compile_source "$1" build_"$2"_arm64 arm64-v8a "$2" "" & - compile_source "$1" build_"$2"_x86 x86 "$2" "" & - compile_source "$1" build_"$2"_x86_64 x86_64 "$2" "" & + compile_source_android "$1" build_android_arm armeabi-v7a & + compile_source_android "$1" build_android_arm64 arm64-v8a & + compile_source_android "$1" build_android_x86 x86 & + compile_source_android "$1" build_android_x86_64 x86_64 & elif [[ "${2}" == "webasm" ]]; then sed -i "s/include(CheckSizes)//g" CMakeLists.txt - compile_source "$1" build_"$2"_wasm wasm "$2" emcmake & + compile_source_webasm "$1" build_webasm_wasm wasm & fi wait