diff --git a/native/LibAPR b/native/LibAPR index 0eac704..97c4ad2 160000 --- a/native/LibAPR +++ b/native/LibAPR @@ -1 +1 @@ -Subproject commit 0eac704c34e1e39062b9c52ccb59529f0dc76f19 +Subproject commit 97c4ad22ccd22963d4922420dd73237e5db2e55d diff --git a/native/cppbuild.sh b/native/cppbuild.sh index a2ba268..84f5fef 100644 --- a/native/cppbuild.sh +++ b/native/cppbuild.sh @@ -1,6 +1,51 @@ #!/usr/bin/env bash set -eu +which cmake3 &> /dev/null && CMAKE3="cmake3" || CMAKE3="cmake" +[[ -z ${CMAKE:-} ]] && CMAKE=$CMAKE3 +[[ -z ${MAKEJ:-} ]] && MAKEJ=4 +[[ -z ${OLDCC:-} ]] && OLDCC="gcc" +[[ -z ${OLDCXX:-} ]] && OLDCXX="g++" +[[ -z ${OLDFC:-} ]] && OLDFC="gfortran" + +KERNEL=(`uname -s | tr [A-Z] [a-z]`) +ARCH=(`uname -m | tr [A-Z] [a-z]`) +case $KERNEL in + darwin) + OS=macosx + ;; + mingw32*) + OS=windows + KERNEL=windows + ARCH=x86 + ;; + mingw64*) + OS=windows + KERNEL=windows + ARCH=x86_64 + ;; + *) + OS=$KERNEL + ;; +esac +case $ARCH in + arm*) + ARCH=arm + ;; + aarch64*) + ARCH=arm64 + ;; + i386|i486|i586|i686) + ARCH=x86 + ;; + amd64|x86-64) + ARCH=x86_64 + ;; +esac +PLATFORM=$OS-$ARCH +EXTENSION= +echo "Detected platform \"$PLATFORM\"" + PROJECTS=(LibAPR ) for PROJECT in ${PROJECTS[@]}; do @@ -10,8 +55,23 @@ for PROJECT in ${PROJECTS[@]}; do echo "Installing \"$PROJECT\"" mkdir -p "$PROJECT/build" pushd "$PROJECT/build" - cmake -DCMAKE_BUILD_TYPE=Release -DAPR_INSTALL=OFF -DAPR_BUILD_SHARED_LIB=OFF -DAPR_BUILD_STATIC_LIB=ON -DAPR_BUILD_EXAMPLES=OFF -DAPR_TESTS=OFF -DAPR_PREFER_EXTERNAL_GTEST=OFF -DAPR_PREFER_EXTERNAL_BLOSC=OFF -DAPR_BUILD_JAVA_WRAPPERS=OFF -DAPR_USE_CUDA=OFF -DAPR_BENCHMARK=OFF -DAPR_USE_LIBTIFF=OFF .. - make -j 4 + case $PLATFORM in + linux-x86_64) + export GENERATOR="Unix Makefiles" + ;; + macosx-*) + export GENERATOR="Unix Makefiles" + ;; + windows-x86_64) + export GENERATOR="Visual Studio 15 2017 Win64" + ;; + *) + echo "Platform $PLATFORM is not supported" + return 0 + ;; + esac + cmake -G "$GENERATOR" -DCMAKE_BUILD_TYPE=Release -DAPR_INSTALL=OFF -DAPR_BUILD_SHARED_LIB=OFF -DAPR_BUILD_STATIC_LIB=ON -DAPR_BUILD_EXAMPLES=OFF -DAPR_TESTS=OFF -DAPR_PREFER_EXTERNAL_GTEST=OFF -DAPR_PREFER_EXTERNAL_BLOSC=OFF -DAPR_BUILD_JAVA_WRAPPERS=OFF -DAPR_USE_CUDA=OFF -DAPR_BENCHMARK=OFF -DAPR_USE_LIBTIFF=OFF .. + cmake --build . popd fi