install_cmake.sh
1 #!/usr/bin/env sh 2 3 # This script downloads the CMake binary and installs it in ~/.local directory 4 # (the cmake executable will be in ~/.local/bin). 5 # This is mostly suitable for CIs, not end users. 6 7 set -e 8 9 VERSION=3.7.1 10 PREFIX=~/.local 11 12 OS=$(uname -s) 13 case $OS in 14 Linux) SHA256=7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2;; 15 Darwin) SHA256=1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267;; 16 esac 17 18 19 BIN=$PREFIX/bin 20 21 if test -f $BIN/cmake && ($BIN/cmake --version | grep -q "$VERSION"); then 22 echo "CMake $VERSION already installed in $BIN" 23 else 24 FILE=cmake-$VERSION-$OS-x86_64.tar.gz 25 URL=https://cmake.org/files/v3.7/$FILE 26 ERROR=0 27 TMPFILE=$(mktemp --tmpdir cmake-$VERSION-$OS-x86_64.XXXXXXXX.tar.gz) 28 echo "Downloading CMake ($URL)..." 29 wget "$URL" -O "$TMPFILE" -nv 30 if ! (shasum -a256 "$TMPFILE" | grep -q "$SHA256"); then 31 echo "Checksum mismatch ($TMPFILE)" 32 exit 1 33 fi 34 mkdir -p "$PREFIX" 35 tar xzf "$TMPFILE" -C "$PREFIX" --strip 1 36 rm $TMPFILE 37 fi