#!/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.8.1 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/googletest-release-$libVer.tar.gz libBuildPath=$buildPath/$libVer libInstallPath=$installPath/$libVer libSrcPath=$buildPath/googletest-release-$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 \ -DBUILD_SHARED_LIBS:BOOL=TRUE \ -DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath \ $libSrcPath && make install -j) (cd $libBuildPath && cmake \ -DCMAKE_BUILD_TYPE=Debug \ -DBUILD_SHARED_LIBS:BOOL=TRUE \ -DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath \ $libSrcPath && make install -j) elif [ "${machineArch}" = "MacOS" ]; then (cd $libBuildPath && cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS:BOOL=TRUE \ -DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath \ $libSrcPath && make install -j) (cd $libBuildPath && cmake \ -DCMAKE_BUILD_TYPE=Debug \ -DBUILD_SHARED_LIBS:BOOL=TRUE \ -DCMAKE_INSTALL_PREFIX:PATH=$libInstallPath \ $libSrcPath && make install -j) elif [ "${machineArch}" = "Windows" ]; then (cd $libBuildPath && cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS:BOOL=TRUE \ -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