minetest/util/travis/common.sh

58 lines
1.5 KiB
Bash

#!/bin/bash -e
set_linux_compiler_env() {
if [[ "${COMPILER}" == "gcc-6" ]]; then
export CC=gcc-6
export CXX=g++-6
elif [[ "${COMPILER}" == "gcc-8" ]]; then
export CC=gcc-8
export CXX=g++-8
elif [[ "${COMPILER}" == "clang-3.9" ]]; then
export CC=clang-3.9
export CXX=clang++-3.9
elif [[ "${COMPILER}" == "clang-9" ]]; then
export CC=clang-9
export CXX=clang++-9
fi
}
# Linux build only
install_linux_deps() {
local pkgs=(libirrlicht-dev cmake libbz2-dev libpng-dev \
libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \
libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev \
gettext libpq-dev postgresql-server-dev-all libleveldb-dev)
# for better coverage, build some jobs with luajit
if [[ "$CC" == "clang"* && -z "$VALGRIND$FREETYPE" ]]; then
pkgs+=(libluajit-5.1-dev)
fi
sudo apt-get update
sudo apt-get install -y --no-install-recommends ${pkgs[@]}
}
# Mac OSX build only
install_macosx_deps() {
brew update
brew install freetype gettext hiredis irrlicht leveldb libogg libvorbis luajit
if brew ls | grep -q jpeg; then
brew upgrade jpeg
else
brew install jpeg
fi
#brew upgrade postgresql
}
# Relative to git-repository root:
TRIGGER_COMPILE_PATHS="src/.*\.(c|cpp|h)|CMakeLists.txt|cmake/Modules/|util/travis/|util/buildbot/"
needs_compile() {
RANGE="$TRAVIS_COMMIT_RANGE"
if [[ "$(git diff --name-only $RANGE -- 2>/dev/null)" == "" ]]; then
RANGE="$TRAVIS_COMMIT^...$TRAVIS_COMMIT"
echo "Fixed range: $RANGE"
fi
git diff --name-only $RANGE -- | egrep -q "^($TRIGGER_COMPILE_PATHS)"
}