|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- language: cpp
- matrix:
- include:
- # gcc
- # xenial
- # gcc 5 is the default on xenial
- - os: linux
- dist: xenial
- compiler: gcc
- addons:
- apt:
- packages:
- - valgrind
- - cppcheck
- - doxygen
- - cmake
- env: CHECK="true"
- # bionic
- - os: linux
- dist: bionic
- compiler: gcc
- env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
-
- # gcc 7 is the default on bionic
- - os: linux
- dist: bionic
- compiler: gcc
- env: CHECK="true"
- - os: linux
- dist: bionic
- compiler: gcc
- env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
-
- # clang
- # xenial
- - os: linux
- dist: xenial
- compiler: clang
- addons:
- apt:
- sources:
- - llvm-toolchain-xenial-5.0
- packages:
- - clang-5.0
- - cmake
- env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
- - os: linux
- dist: xenial
- compiler: clang
- addons:
- apt:
- sources:
- - llvm-toolchain-xenial-6.0
- packages:
- - clang-6.0
- - cmake
- env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
-
- # clang-7 is the default on xenial and bionic
- - os: linux
- dist: xenial
- compiler: clang
- addons:
- apt:
- packages:
- - valgrind
- - cppcheck
- - doxygen
- - cmake
- env: CHECK="true"
-
- # bionic
- - os: linux
- dist: bionic
- compiler: clang
- env: CHECK="true"
- # osx
- - os: osx
- osx_image: xcode9.4
- env: XCODE="true"
- - os: osx
- osx_image: xcode12.5
- env: XCODE="true" CHECK="true"
-
- # run coveralls
- - os: linux
- dist: xenial
- compiler: gcc
- addons:
- apt:
- packages:
- - lcov
- env: CHECK="true"
- before_install:
- - sudo gem install coveralls-lcov
- - echo $CC
- - echo $LANG
- - echo $LC_ALL
- - set -e
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
- eval "${MATRIX_EVAL}";
- if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
- sudo apt-get install -y $CC;
- fi;
- fi
- before_script:
- - export CFLAGS="-fprofile-arcs -ftest-coverage"
- - mkdir build && cd build && cmake ..
- script:
- - make
- - make test
- after_success:
- - cd ..
- - lcov -d build/ -b . -c -o build/all_coverage.info
- - lcov -r build/all_coverage.info '/usr/*' '*CMakeFiles*' '*fuzz*' '*test*' -o build/coverage.info
- - coveralls-lcov --verbose build/coverage.info
-
- # allow_failures:
- # - os: osx
-
- before_install:
- - echo $CC
- - echo $LANG
- - echo $LC_ALL
- - set -e
- - if [ "$TRAVIS_OS_NAME" = "linux" ]; then
- eval "${MATRIX_EVAL}";
- if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
- sudo apt-get install -y $CC;
- fi;
- fi
-
- before_script:
- # XXX osx on travis doesn't work w/ set -e, so turn it off :(
- - set +e
- - mkdir -p build || echo "Failed to mkdir build"
- - cd build || echo "Failed to cd build"
- - cmake .. || echo "Failed to run cmake"
-
- script:
- - make
- # when using bionic, Travis seems to ignore the "addons" section, so installing the packages with apt-get...
- - if [ -n "$CHECK" ]; then
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then
- brew install doxygen;
- else
- if [ "$TRAVIS_DIST" = "bionic" ]; then
- sudo apt-get install -y valgrind cppcheck doxygen;
- fi;
- fi;
- make distcheck;
- if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;
- fi
|