Files
cpp-thirdparty-src/google/benchmark/build.sh
2019-12-15 17:59:20 -06:00

107 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*) machineArch=Linux ;;
Darwin*) machineArch=MacOS ;;
CYGWIN*) machineArch=Windows ;;
MINGW*) machineArch=Windows ;;
*) machineArch="UNKNOWN:${unameOut}" ;;
esac
echo ${machineArch}
libVer=1.5.0
echo libVer=$libVer
scriptDir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
originalPath=$scriptDir/original
buildPath=$scriptDir/build
installPath=$scriptDir/install
libFilePath=$originalPath/benchmark-$libVer.tar.gz
libBuildPath=$buildPath/$libVer
libInstallPath=$installPath/$libVer
libSrcPath=$buildPath/benchmark-$libVer
echo
echo libFilePath=$libFilePath
echo libBuildPath=$libBuildPath
echo libInstallPath=$libInstallPath
echo libSrcPath=$libSrcPath
echo
rm -rf $buildPath $installPath
mkdir -p $libBuildPath
mkdir -p $libInstallPath
mkdir -p $libSrcPath
tar zxvpf $libFilePath -C $buildPath
if [ "${machineArch}" = "Linux" ]; then
(cd $libBuildPath &&
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath/release \
$libSrcPath &&
make install -j)
(cd $libBuildPath &&
cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath/debug \
$libSrcPath &&
make install -j)
elif [ "${machineArch}" = "MacOS" ]; then
(cd $libBuildPath &&
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath/release \
-DLLVMAR_EXECUTABLE:PATH=/usr/bin/ar \
-DLLVMNM_EXECUTABLE:PATH=/usr/bin/nm \
-DLLVMRANLIB_EXECUTABLE:PATH=/usr/bin/ranlib \
$libSrcPath &&
make install -j)
(cd $libBuildPath &&
cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath/debug \
-DLLVMAR_EXECUTABLE:PATH=/usr/bin/ar \
-DLLVMNM_EXECUTABLE:PATH=/usr/bin/nm \
-DLLVMRANLIB_EXECUTABLE:PATH=/usr/bin/ranlib \
$libSrcPath &&
make install -j)
elif [ "${machineArch}" = "Windows" ]; then
(cd $libBuildPath &&
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath/release \
-G "Visual Studio 16 2019" \
-A x64 \
$libSrcPath &&
cmake \
--build . \
--config Release \
--target INSTALL)
(cd $libBuildPath &&
cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
-DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath/debug \
-G "Visual Studio 16 2019" \
-A x64 \
$libSrcPath &&
cmake \
--build . \
--config Debug \
--target INSTALL)
else
echo "unknown architecture"
exit 1
fi