107 lines
2.8 KiB
Bash
Executable File
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
|