/ scripts / install_cmake.sh
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