#!/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 \ -G "Visual Studio 16 2019" \ -A x64 \ $libSrcPath && \ cmake \ --build . \ --config Release \ --target INSTALL && \ cmake \ --build . \ --config Debug \ --target INSTALL) else echo "unknown architecture" exit 1 fi