summaryrefslogtreecommitdiffstats
path: root/travis/prepare.sh
blob: edf9df738adfb2b7134d91b3df66be2d565573c9 (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
set -e

if [ "$TRAVIS_OS_NAME" = "linux" ]
then
	QT_WITHOUT_DOTS=qt$(echo $QT_VERSION | grep -oP "[^\.]*" | tr -d '\n' | tr '[:upper:]' '[:lower]')
	QT_PKG_PREFIX=$(echo $QT_WITHOUT_DOTS | cut -c1-4)
	QT_PKG_INSTALL=$QT_PKG_PREFIX
	if [ "$QT_PKG_PREFIX" = "qt50" ]; then QT_PKG_PREFIX=qt QT_PKG_INSTALL=qt5; fi
	echo $QT_WITHOUT_DOTS
	echo $QT_PKG_PREFIX
	echo $QT_PKG_INSTALL
	if [ "$TRAVIS_DIST" = "precise" ]; then
		sudo add-apt-repository -y ppa:beineri/opt-${QT_WITHOUT_DOTS}
	else
		sudo add-apt-repository -y ppa:beineri/opt-${QT_WITHOUT_DOTS}-$TRAVIS_DIST
	fi
	sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test # for a recent GCC
	sudo add-apt-repository "deb http://llvm.org/apt/${TRAVIS_DIST}/ llvm-toolchain-${TRAVIS_DIST}-3.5 main"

	sudo apt-get update -qq
	sudo apt-get install ${QT_PKG_PREFIX}base ${QT_PKG_PREFIX}svg ${QT_PKG_PREFIX}tools

	sudo mkdir -p /opt/cmake-3/
	wget --no-check-certificate http://www.cmake.org/files/v3.9/cmake-3.9.3-Linux-x86_64.sh
	sudo sh cmake-3.9.3-Linux-x86_64.sh --skip-license --prefix=/opt/cmake-3/

	export CMAKE_PREFIX_PATH=/opt/$QT_PKG_INSTALL/lib/cmake
	export PATH=/opt/cmake-3/bin:/opt/$QT_PKG_INSTALL/bin:$PATH

	if [ "$CXX" = "g++" ]; then
		sudo apt-get install -y -qq g++-5
		export CXX='g++-5' CC='gcc-5'
	fi
	if [ "$CXX" = "clang++" ]; then
		wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
		sudo apt-get install -y -qq clang-3.5 liblldb-3.5 libclang1-3.5 libllvm3.5 lldb-3.5 llvm-3.5 llvm-3.5-runtime
		export CXX='clang++-3.5' CC='clang-3.5'
	fi
else
	brew update
	brew install qt5
	brew install cmake
	export CMAKE_PREFIX_PATH=/usr/local/lib/cmake
fi

# Output versions
cmake -version
qmake -version
$CXX -v
echo "CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH"