# Copyright (c) 2012-2016 Sebastien Rombauts (sebastien.rombauts@gmail.com) # request for Ubuntu 14.04 Trusty VM sudo: true dist: trusty cache: apt: true # NOTE: no language, so that we can set CXX and CC env vars as required #language: cpp matrix: include: # gcc default - compiler: gcc env: - CC=gcc - CXX=g++ # gcc 4.9 std=default - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 env: - CC=gcc-4.9 - CXX=g++-4.9 # gcc 5 std=c++03 - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 env: - CC=gcc-5 - CXX=g++-5 - CXXFLAGS="-std=c++03" # gcc 5 std=c++11 - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 env: - CC=gcc-5 - CXX=g++-5 - CXXFLAGS="-std=c++11" # gcc 5 std=c++14 - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 env: - CC=gcc-5 - CXX=g++-5 - CXXFLAGS="-std=c++14" # gcc 5 std=c++1z - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 env: - CC=gcc-5 - CXX=g++-5 - CXXFLAGS="-std=c++1z" # gcc 6 std=c++14 - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: - CXX=g++-6 - CXXFLAGS="-std=c++14" # gcc 6 std=c++1z - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: - CC=gcc-6 - CXX=g++-6 - CXXFLAGS="-std=c++1z" # gcc 6 std=c++14 all warnings, pedantic - compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: - CC=gcc-6 - CXX=g++-6 - CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic" # clang default - compiler: clang env: - CC=clang - CXX=clang++ # clang 3.8 - compiler: clang os: linux env: - CC=clang - CXX=clang++ - LLVM_VERSION=3.8.0 - LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz - 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 # os x - compiler: clang os: osx osx_image: xcode8 install: - brew install cmake env: - CC=clang - CXX=clang - CXXFLAGS=-lstdc++ before_install: - if [[ "$CXX" == "g++" ]]; then pip install --user cpp-coveralls ; fi # scripts to run before build before_script: - mkdir build - cd build - 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) script: - cmake --build . - ctest --verbose --output-on-failure # generate and publish GCov coveralls results after_success: - if [[ "$CXX" == "g++" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi