# 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++ # os x - compiler: clang os: osx env: - CC=clang - CXX=clang - CXXFLAGS=-lstdc++ env: global: # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created # via the "travis encrypt" command using the project repo's public key - secure: "Qm4d8NEDPBtYZCYav46uPEvDCtaRsjLXlkVS+C+WCJAPcwXCGkrr96wEi7RWcq2xD86QCh0XiqaPT+xdUmlohOYIovRhaaBmZ1lwIJ4GsG/ZR6xoFr3DYsZ3o4GyXk2vNXNxEl82AC+Xs6e6gkLOV9XRkBcjpVIvoIXgNlKWeGY=" before_install: # coveralls test coverage: - if [[ "$CXX" == "g++" ]]; then pip install --user cpp-coveralls ; fi # coverity static analysis: - if [[ "$CXX" == "g++" ]]; then echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- ; fi addons: coverity_scan: project: name: "SRombauts/SQLiteCpp" description: "Build submitted via Travis CI" notification_email: sebastien.rombauts@gmail.com build_command_prepend: "cmake ." build_command: "make -j 8" branch_pattern: master # 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