build with several compilers

- multiple versions of gcc
 - multiple versions of c++ standard
 - multiple versions of clang
 - os x
This commit is contained in:
Paul Dreik 2016-06-27 09:29:22 +02:00
parent 50501a41e2
commit 3bdc41ab5c

View File

@ -1,20 +1,125 @@
# Copyright (c) 2012-2016 Sebastien Rombauts (sebastien.rombauts@gmail.com)
language: cpp
# compilers to add to build matrix
compiler:
- gcc
- clang
# request for Ubuntu 14.04 Trusty VM
sudo: true
dist: trusty
language: cpp
cache:
apt: true
matrix:
include:
# gcc default
- env: COMPILERXX=g++
# clang default
- env: COMPILERXX=clang++
# clang 3.8
- os: linux
env:
- COMPILERXX=clang++
- LLVM_VERSION=3.8.0
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
- COMPILER=clang++
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
- CXXFLAGS=-lc++
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
before_install:
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
- mkdir $HOME/clang-$LLVM_VERSION
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
# gcc 4.9 std=default
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env: COMPILERXX=g++-4.9
# gcc 5 std=c++03
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- COMPILERXX=g++-5
- CXXFLAGS="-std=c++03"
# gcc 5 std=c++11
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- COMPILERXX=g++-5
- CXXFLAGS="-std=c++11"
# gcc 5 std=c++14
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- COMPILERXX=g++-5
- CXXFLAGS="-std=c++14"
# gcc 5 std=c++1z
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- COMPILERXX=g++-5
- CXXFLAGS="-std=c++1z"
# gcc 6 std=c++14
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- COMPILERXX=g++-6
- CXXFLAGS="-std=c++14"
# gcc 6 std=c++1z
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- COMPILERXX=g++-6
- CXXFLAGS="-std=c++1z"
# gcc 6 std=c++14 all warnings, pedantic
- addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- COMPILERXX=g++-6
- CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic"
# os x
- os: osx
osx_image: xcode8
compiler: clang
install:
- brew install cmake
env:
- COMPILER=clang
- COMPILERXX=clang
- CXXFLAGS=-lstdc++
addons:
apt:
packages:
- cppcheck
before_install:
- if [[ "$CXX" == "g++" ]]; then pip install --user cpp-coveralls ; fi
@ -23,6 +128,9 @@ before_install:
before_script:
- mkdir build
- cd build
- export CXX=$COMPILERXX
- echo CXX is $CXX CXXFLAGS is $CXXFLAGS CPPFLAGS is $CPPFLAGS
- $CXX --version
- cmake -DCMAKE_BUILD_TYPE=Debug -DSQLITECPP_USE_GCOV=ON -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON ..
# build examples, and run tests (ie make & make test)