GH-1033 Set up travis for C++14 setup
No clang, no OSX, nothing
This commit is contained in:
parent
1e51b62c88
commit
634bdcdbcb
45
.travis.yml
45
.travis.yml
@ -1,22 +1,45 @@
|
|||||||
|
# General set up
|
||||||
language: cpp
|
language: cpp
|
||||||
|
cache: apt
|
||||||
|
notifications:
|
||||||
|
email: false
|
||||||
|
|
||||||
|
# Build matrix set up
|
||||||
compiler:
|
compiler:
|
||||||
- gcc
|
- gcc
|
||||||
- clang
|
# - clang
|
||||||
cache: apt
|
os:
|
||||||
before_install:
|
- linux
|
||||||
- sudo apt-add-repository -y ppa:beineri/opt-qt532
|
# - osx
|
||||||
- sudo apt-add-repository -y ppa:kalakris/cmake
|
env:
|
||||||
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
- QT_VERSION=5.4.1 # latest stable
|
||||||
- sudo apt-get update -qq
|
# - 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:
|
install:
|
||||||
- sudo apt-get install -y -qq cmake qt53base qt53svg qt53tools qt53x11extras qt53webkit
|
- source travis/prepare.sh # installs qt and cmake. need to source because some env vars are set from there
|
||||||
- sudo apt-get install -y -qq g++-4.8
|
|
||||||
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
|
# Actual work
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake -DCMAKE_PREFIX_PATH=/opt/qt53/lib/cmake ..
|
- cmake -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH ..
|
||||||
script:
|
script:
|
||||||
- make -j4 && make test ARGS="-V"
|
- make -j4 && make test ARGS="-V"
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
42
travis/prepare.sh
Normal file
42
travis/prepare.sh
Normal 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
|
Loading…
Reference in New Issue
Block a user