2020-04-10 13:25:41 +02:00
|
|
|
language: cpp
|
|
|
|
|
matrix:
|
|
|
|
|
include:
|
2022-07-24 20:37:14 +00:00
|
|
|
|
|
|
|
|
# ubuntu xenial 16.04
|
2020-04-10 13:25:41 +02:00
|
|
|
# gcc 5 is the default on xenial
|
|
|
|
|
- os: linux
|
|
|
|
|
dist: xenial
|
|
|
|
|
compiler: gcc
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
|
|
|
|
- valgrind
|
|
|
|
|
- cppcheck
|
|
|
|
|
- doxygen
|
|
|
|
|
- cmake
|
|
|
|
|
env: CHECK="true"
|
2020-04-10 13:06:54 +02:00
|
|
|
|
2022-07-24 20:37:14 +00:00
|
|
|
# ubuntu bionic 18.04
|
|
|
|
|
# gcc 7 is the default on bionic
|
2020-04-10 13:25:41 +02:00
|
|
|
- os: linux
|
|
|
|
|
dist: bionic
|
|
|
|
|
compiler: gcc
|
2022-07-24 20:37:14 +00:00
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
|
|
|
|
- valgrind
|
|
|
|
|
- cppcheck
|
|
|
|
|
- doxygen
|
|
|
|
|
- cmake
|
2020-04-10 13:25:41 +02:00
|
|
|
env: CHECK="true"
|
|
|
|
|
|
2022-07-24 20:37:14 +00:00
|
|
|
# ubuntu focal fossa 20.04
|
|
|
|
|
# gcc 9 is the default on bionic
|
2020-04-10 13:25:41 +02:00
|
|
|
- os: linux
|
2022-07-24 20:37:14 +00:00
|
|
|
dist: focal
|
|
|
|
|
compiler: gcc
|
2020-04-10 13:25:41 +02:00
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
2022-07-24 20:37:14 +00:00
|
|
|
- valgrind
|
|
|
|
|
- cppcheck
|
|
|
|
|
- doxygen
|
2020-04-10 13:25:41 +02:00
|
|
|
- cmake
|
2022-07-24 20:37:14 +00:00
|
|
|
env: CHECK="true"
|
|
|
|
|
|
|
|
|
|
# clang
|
|
|
|
|
# xenial
|
2020-04-10 13:25:41 +02:00
|
|
|
- os: linux
|
|
|
|
|
dist: xenial
|
|
|
|
|
compiler: clang
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
sources:
|
|
|
|
|
- llvm-toolchain-xenial-6.0
|
|
|
|
|
packages:
|
|
|
|
|
- clang-6.0
|
|
|
|
|
- cmake
|
2020-04-10 13:06:54 +02:00
|
|
|
env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
|
2020-04-10 13:25:41 +02:00
|
|
|
|
2022-07-24 20:37:14 +00:00
|
|
|
# clang-7 is the default on focal, xenial and bionic
|
2020-04-10 13:25:41 +02:00
|
|
|
- os: linux
|
2022-07-24 20:37:14 +00:00
|
|
|
dist: focal
|
2020-04-10 13:25:41 +02:00
|
|
|
compiler: clang
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
|
|
|
|
- valgrind
|
|
|
|
|
- cppcheck
|
|
|
|
|
- doxygen
|
|
|
|
|
- cmake
|
|
|
|
|
env: CHECK="true"
|
|
|
|
|
|
|
|
|
|
# osx
|
|
|
|
|
- os: osx
|
2022-07-24 20:37:14 +00:00
|
|
|
osx_image: xcode13.4
|
2020-04-10 13:25:41 +02:00
|
|
|
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 :(
|
2020-04-10 13:06:54 +02:00
|
|
|
- set +e
|
2020-04-10 13:25:41 +02:00
|
|
|
- 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
|