2019-07-24 14:20:07 -05:00
|
|
|
language: cpp
|
2019-07-24 14:13:23 -05:00
|
|
|
matrix:
|
|
|
|
|
include:
|
2019-07-26 22:42:53 -05:00
|
|
|
# gcc
|
|
|
|
|
# xenial
|
|
|
|
|
# gcc 5 is the default on xenial
|
2019-07-24 14:13:23 -05:00
|
|
|
- os: linux
|
|
|
|
|
dist: xenial
|
|
|
|
|
compiler: gcc
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
|
|
|
|
- valgrind
|
|
|
|
|
- cppcheck
|
2019-07-24 14:20:07 -05:00
|
|
|
- doxygen
|
2020-04-08 01:21:11 +00:00
|
|
|
- cmake
|
2019-07-24 14:13:23 -05:00
|
|
|
env: CHECK="true"
|
2019-07-26 22:42:53 -05:00
|
|
|
# bionic
|
2019-07-24 14:13:23 -05:00
|
|
|
- os: linux
|
2019-07-26 22:42:53 -05:00
|
|
|
dist: bionic
|
2019-07-24 14:13:23 -05:00
|
|
|
compiler: gcc
|
|
|
|
|
env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
|
2019-07-26 22:42:53 -05:00
|
|
|
|
|
|
|
|
# gcc 7 is the default on bionic
|
2019-07-24 14:13:23 -05:00
|
|
|
- os: linux
|
2019-07-26 22:42:53 -05:00
|
|
|
dist: bionic
|
2019-07-24 14:13:23 -05:00
|
|
|
compiler: gcc
|
2019-07-26 22:42:53 -05:00
|
|
|
env: CHECK="true"
|
2019-07-24 14:13:23 -05:00
|
|
|
- os: linux
|
2019-07-26 22:42:53 -05:00
|
|
|
dist: bionic
|
2019-07-24 14:13:23 -05:00
|
|
|
compiler: gcc
|
|
|
|
|
env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
|
2015-10-09 23:46:19 +01:00
|
|
|
|
2019-07-26 22:42:53 -05:00
|
|
|
# clang
|
|
|
|
|
# xenial
|
2019-07-24 14:13:23 -05:00
|
|
|
- os: linux
|
|
|
|
|
dist: xenial
|
|
|
|
|
compiler: clang
|
2019-07-26 22:42:53 -05:00
|
|
|
addons:
|
|
|
|
|
apt:
|
2019-07-26 23:15:06 -05:00
|
|
|
sources:
|
|
|
|
|
- llvm-toolchain-xenial-5.0
|
2019-07-26 22:42:53 -05:00
|
|
|
packages:
|
2019-07-26 23:15:06 -05:00
|
|
|
- clang-5.0
|
2020-04-08 01:21:11 +00:00
|
|
|
- cmake
|
2019-07-26 23:15:06 -05:00
|
|
|
env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
|
2019-07-26 22:42:53 -05:00
|
|
|
- os: linux
|
2019-07-26 23:36:01 -05:00
|
|
|
dist: xenial
|
2019-07-26 22:42:53 -05:00
|
|
|
compiler: clang
|
2019-07-24 14:13:23 -05:00
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
sources:
|
2019-07-26 23:15:06 -05:00
|
|
|
- llvm-toolchain-xenial-6.0
|
2019-07-24 14:13:23 -05:00
|
|
|
packages:
|
2019-07-26 23:15:06 -05:00
|
|
|
- clang-6.0
|
2020-04-08 01:21:11 +00:00
|
|
|
- cmake
|
2019-07-26 22:42:53 -05:00
|
|
|
env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
|
2019-07-26 23:15:06 -05:00
|
|
|
|
2019-07-26 23:51:18 -05:00
|
|
|
# clang-7 is the default on xenial and bionic
|
|
|
|
|
- os: linux
|
|
|
|
|
dist: xenial
|
|
|
|
|
compiler: clang
|
|
|
|
|
addons:
|
|
|
|
|
apt:
|
|
|
|
|
packages:
|
|
|
|
|
- valgrind
|
|
|
|
|
- cppcheck
|
|
|
|
|
- doxygen
|
2020-04-08 01:21:11 +00:00
|
|
|
- cmake
|
2019-07-26 23:51:18 -05:00
|
|
|
env: CHECK="true"
|
|
|
|
|
|
2019-07-26 23:15:06 -05:00
|
|
|
# bionic
|
2019-07-26 22:42:53 -05:00
|
|
|
- os: linux
|
|
|
|
|
dist: bionic
|
2019-07-24 14:13:23 -05:00
|
|
|
compiler: clang
|
2019-07-26 22:42:53 -05:00
|
|
|
env: CHECK="true"
|
2019-07-24 14:13:23 -05:00
|
|
|
# osx
|
|
|
|
|
- os: osx
|
|
|
|
|
osx_image: xcode9.4
|
|
|
|
|
env: XCODE="true"
|
|
|
|
|
- os: osx
|
|
|
|
|
osx_image: xcode10.1
|
|
|
|
|
env: XCODE="true" CHECK="true"
|
2015-10-09 23:46:19 +01:00
|
|
|
|
2020-02-19 18:13:28 +08:00
|
|
|
# run coveralls
|
2020-02-17 18:15:15 +08:00
|
|
|
- os: linux
|
|
|
|
|
dist: xenial
|
|
|
|
|
compiler: gcc
|
|
|
|
|
env: CHECK="true"
|
|
|
|
|
before_install:
|
|
|
|
|
- sudo pip install cpp-coveralls
|
2020-02-19 18:13:28 +08:00
|
|
|
- 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"
|
2020-04-08 01:34:22 +00:00
|
|
|
- mkdir build && cd build && cmake ..
|
2020-02-17 18:15:15 +08:00
|
|
|
script:
|
|
|
|
|
- make
|
2020-04-08 01:45:49 +00:00
|
|
|
- make test
|
2020-02-17 18:15:15 +08:00
|
|
|
after_success:
|
2020-02-19 18:13:28 +08:00
|
|
|
- coveralls --exclude tests --exclude fuzz
|
2020-02-17 18:15:15 +08:00
|
|
|
|
2019-07-24 14:13:23 -05:00
|
|
|
# allow_failures:
|
|
|
|
|
# - os: osx
|
2016-08-08 15:23:27 +02:00
|
|
|
|
2015-10-09 23:46:19 +01:00
|
|
|
before_install:
|
2019-07-24 14:13:23 -05:00
|
|
|
- echo $CC
|
2015-10-09 23:46:19 +01:00
|
|
|
- echo $LANG
|
|
|
|
|
- echo $LC_ALL
|
2017-07-10 12:01:56 +03:00
|
|
|
- set -e
|
2019-07-24 14:13:23 -05:00
|
|
|
- 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
|
2015-10-09 23:46:19 +01:00
|
|
|
|
|
|
|
|
before_script:
|
2020-04-08 02:54:10 +00:00
|
|
|
# XXX osx on travis doesn't work w/ set -e, so turn it off :(
|
|
|
|
|
- set +e
|
2020-04-08 02:28:02 +00:00
|
|
|
- mkdir -p build || echo "Failed to mkdir build"
|
|
|
|
|
- cd build || echo "Failed to cd build"
|
2020-04-08 03:04:27 +00:00
|
|
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|
|
|
|
cmake -DDISABLE_BSYMBOLIC=ON .. ;
|
|
|
|
|
else
|
|
|
|
|
cmake .. ;
|
|
|
|
|
fi || echo "Failed to run cmake"
|
2015-10-09 23:46:19 +01:00
|
|
|
|
|
|
|
|
script:
|
|
|
|
|
- make
|
2019-07-26 23:15:06 -05:00
|
|
|
# when using bionic, Travis seems to ignore the "addons" section, so installing the packages with apt-get...
|
2019-07-24 14:13:23 -05:00
|
|
|
- if [ -n "$CHECK" ]; then
|
2019-07-24 14:20:07 -05:00
|
|
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|
|
|
|
brew install doxygen;
|
2019-07-26 23:15:06 -05:00
|
|
|
else
|
|
|
|
|
if [ "$TRAVIS_DIST" = "bionic" ]; then
|
|
|
|
|
sudo apt-get install -y valgrind cppcheck doxygen;
|
|
|
|
|
fi;
|
2019-07-24 14:20:07 -05:00
|
|
|
fi;
|
|
|
|
|
make distcheck;
|
2019-07-24 14:13:23 -05:00
|
|
|
if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;
|
2019-07-24 01:08:30 -05:00
|
|
|
fi
|
2019-07-24 14:13:23 -05:00
|
|
|
|