From e3d1f81726f1c07fe744e9c531b5f6075aa6198a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Mon, 15 May 2017 13:42:02 +0200 Subject: [PATCH] Travis CI: Use CMake 3.8.1 --- .travis.yml | 1 + scripts/install_cmake.sh | 55 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 scripts/install_cmake.sh diff --git a/.travis.yml b/.travis.yml index ec2eb0c9d..8e72be423 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ cache: - $HOME/.hunter/_Base/Cache before_install: - if [[ "$CUDA" = ON ]]; then source scripts/install-cuda-trusty.sh; fi + - if [ "$TRAVIS_OS_NAME" = linux ]; then scripts/install_cmake.sh; fi script: - cmake -DHUNTER_JOBS_NUMBER=4 -DETHASHCUDA=$CUDA -DETHASHCL=ON -H. -Bbuild - cmake --build build diff --git a/scripts/install_cmake.sh b/scripts/install_cmake.sh new file mode 100755 index 000000000..7289088dc --- /dev/null +++ b/scripts/install_cmake.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env sh + +# This script downloads the CMake binary and installs it in $PREFIX directory +# (the cmake executable will be in $PREFIX/bin). By default $PREFIX is +# ~/.local but can we changes with --prefix argument. + +# This is mostly suitable for CIs, not end users. + +set -e + +VERSION=3.8.1 + +if [ "$1" = "--prefix" ]; then + PREFIX="$2" +else + PREFIX=~/.local +fi + +OS=$(uname -s) +case $OS in +Linux) SHA256=10ca0e25b7159a03da0c1ec627e686562dc2a40aad5985fd2088eb684b08e491;; +Darwin) SHA256=cf8cf16eb1281127006507e69bbcfabec2ccbbc3dfb95888c39d578d037569f1;; +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 + VERSION_SERIES=$(echo $VERSION | awk '{ string=substr($0, 1, 3); print string; }') + URL=https://cmake.org/files/v$VERSION_SERIES/$FILE + ERROR=0 + TMPFILE=$(mktemp --tmpdir cmake-$VERSION-$OS-x86_64.XXXXXXXX.tar.gz) + echo "Downloading CMake ($URL)..." + curl -s "$URL" > "$TMPFILE" + + if type -p sha256sum > /dev/null; then + SHASUM_TOOL="sha256sum" + else + SHASUM_TOOL="shasum -a256" + fi + + SHASUM=$($SHASUM_TOOL "$TMPFILE") + if ! (echo "$SHASUM" | grep -q "$SHA256"); then + echo "Checksum mismatch!" + echo "Actual: $SHASUM" + echo "Expected: $SHA256" + exit 1 + fi + mkdir -p "$PREFIX" + tar xzf "$TMPFILE" -C "$PREFIX" --strip 1 + rm $TMPFILE +fi