GH-1033 Set up travis for C++14 setup

No clang, no OSX, nothing
This commit is contained in:
Jan Dalheimer 2015-06-01 16:02:55 +02:00 committed by Petr Mrázek
parent 1e51b62c88
commit 634bdcdbcb
2 changed files with 76 additions and 11 deletions

View File

@ -1,22 +1,45 @@
# General set up
language: cpp
cache: apt
notifications:
email: false
# Build matrix set up
compiler:
- gcc
- clang
cache: apt
before_install:
- sudo apt-add-repository -y ppa:beineri/opt-qt532
- sudo apt-add-repository -y ppa:kalakris/cmake
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get update -qq
# - clang
os:
- linux
# - osx
env:
- QT_VERSION=5.4.1 # latest stable
# - QT_VERSION=5.5-beta # latest
matrix:
exclude:
# only use clang on OS X
- os: osx
compiler: gcc
# only use the qt available from homebrew
- os: osx
env: QT_VERSION=5.4.1
- os: osx
env: QT_VERSION=5.5-beta
allow_failures:
# Qt 5.5 is not yet released and is therefore allowed to fail
- env: QT_VERSION=5.5-beta
# Install dependencies
install:
- sudo apt-get install -y -qq cmake qt53base qt53svg qt53tools qt53x11extras qt53webkit
- sudo apt-get install -y -qq g++-4.8
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
- source travis/prepare.sh # installs qt and cmake. need to source because some env vars are set from there
# Actual work
before_script:
- mkdir build
- cd build
- cmake -DCMAKE_PREFIX_PATH=/opt/qt53/lib/cmake ..
- cmake -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH ..
script:
- make -j4 && make test ARGS="-V"
notifications:
email: false

42
travis/prepare.sh Normal file
View File

@ -0,0 +1,42 @@
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)
echo $QT_WITHOUT_DOTS
echo $QT_PKG_PREFIX
sudo add-apt-repository -y ppa:beineri/opt-${QT_WITHOUT_DOTS}
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test # for a recent GCC
sudo add-apt-repository "deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.5 main"
sudo apt-get update -qq
sudo apt-get install ${QT_PKG_PREFIX}base ${QT_PKG_PREFIX}svg ${QT_PKG_PREFIX}tools ${QT_PKG_PREFIX}x11extras ${QT_PKG_PREFIX}webkit
sudo mkdir -p /opt/cmake-3/
wget http://www.cmake.org/files/v3.2/cmake-3.2.2-Linux-x86_64.sh
sudo sh cmake-3.2.2-Linux-x86_64.sh --skip-license --prefix=/opt/cmake-3/
export CMAKE_PREFIX_PATH=/opt/$QT_PKG_PREFIX/lib/cmake
export PATH=/opt/cmake-3/bin:/opt/$QT_PKG_PREFIX/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