Bash程序  |  49行  |  1.41 KB

#!/bin/bash -x

set -e

install_brew_package() {
  if brew list -1 | grep -q "^$1\$"; then
    # Package is installed, upgrade if needed
    time (brew outdated "$1" || brew upgrade "$@")
  else
    # Package not installed yet, install.
    # If there are conflicts, try overwriting the files (these are in /usr/local anyway so it should be ok).
    time (brew install "$@" || brew link --overwrite gcc49)
  fi
}

time brew update

# For md5sum
install_brew_package md5sha1sum
# For `timeout'
install_brew_package coreutils

if [[ "${INSTALL_VALGRIND}" == "1" ]]
then
    install_brew_package valgrind
fi

which cmake &>/dev/null || install_brew_package cmake

case "${COMPILER}" in
gcc-4.9)       install_brew_package gcc@4.9 ;;
gcc-5)         install_brew_package gcc@5 ;;
gcc-6)         install_brew_package gcc@6 ;;
clang-default) ;;
clang-3.7)     install_brew_package llvm@3.7 --with-clang --with-libcxx;;
clang-3.8)     install_brew_package llvm@3.8 --with-clang --with-libcxx;;
clang-3.9)     install_brew_package llvm@3.9 --with-clang --with-libcxx;;
clang-4.0)     install_brew_package llvm     --with-clang --with-libcxx;;
*) echo "Compiler not supported: ${COMPILER}. See travis_ci_install_osx.sh"; exit 1 ;;
esac

install_brew_package python
time pip3 install pytest
time pip3 install pytest-xdist
time pip3 install sh

# This adds python-installed executables to PATH (notably py.test).
export PATH="$(brew --prefix)/bin:$PATH"