summaryrefslogtreecommitdiff
path: root/util/travis/common.sh
blob: cf9ce020e6b2d6fa3723e7a185f4076e1a3797c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/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)"
}