diff options
author | Paweł Bylica <chfast@gmail.com> | 2017-01-12 21:14:19 +0800 |
---|---|---|
committer | Paweł Bylica <chfast@gmail.com> | 2017-01-12 21:14:19 +0800 |
commit | ee0bf07487068a46af0d286208a0224a58721527 (patch) | |
tree | 07e67a81e774771f223e382bcfe6891211065756 | |
parent | 74d74fb00bc159076d8322c5780894b1c2d68791 (diff) | |
download | dexon-solidity-ee0bf07487068a46af0d286208a0224a58721527.tar.gz dexon-solidity-ee0bf07487068a46af0d286208a0224a58721527.tar.zst dexon-solidity-ee0bf07487068a46af0d286208a0224a58721527.zip |
Travis CI: Install latest CMake
-rw-r--r-- | .travis.yml | 2 | ||||
-rwxr-xr-x | scripts/install_cmake.sh | 37 |
2 files changed, 39 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml index a50674c1..017f1a61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -140,9 +140,11 @@ cache: directories: - boost_1_57_0 - build + - $HOME/.local install: - test $TRAVIS_INSTALL_DEPS != On || ./scripts/install_deps.sh + - test "$TRAVIS_OS_NAME" != "linux" || ./scripts/install_cmake.sh - echo -n "$TRAVIS_COMMIT" > commit_hash.txt before_script: - test $TRAVIS_EMSCRIPTEN != On || ./scripts/build_emscripten.sh diff --git a/scripts/install_cmake.sh b/scripts/install_cmake.sh new file mode 100755 index 00000000..00d013b9 --- /dev/null +++ b/scripts/install_cmake.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env sh + +# This script downloads the CMake binary and installs it in ~/.local directory +# (the cmake executable will be in ~/.local/bin). +# This is mostly suitable for CIs, not end users. + +set -e + +VERSION=3.7.1 +PREFIX=~/.local + +OS=$(uname -s) +case $OS in +Linux) SHA256=7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2;; +Darwin) SHA256=1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267;; +esac + + +BIN=$PREFIX/bin + +if test -f $BIN/cmake && ($BIN/cmake --version | grep -q "$VERSION"); then + echo "CMake $VERSION already installed in $BIN" +else + FILE=cmake-$VERSION-$OS-x86_64.tar.gz + URL=https://cmake.org/files/v3.7/$FILE + ERROR=0 + TMPFILE=$(mktemp --tmpdir cmake-$VERSION-$OS-x86_64.XXXXXXXX.tar.gz) + echo "Downloading CMake ($URL)..." + wget "$URL" -O "$TMPFILE" -nv + if ! (shasum -a256 "$TMPFILE" | grep -q "$SHA256"); then + echo "Checksum mismatch ($TMPFILE)" + exit 1 + fi + mkdir -p "$PREFIX" + tar xzf "$TMPFILE" -C "$PREFIX" --strip 1 + rm $TMPFILE +fi |