|
|
@@ -2,146 +2,22 @@ language: cpp |
|
|
|
matrix: |
|
|
|
include: |
|
|
|
|
|
|
|
# ubuntu xenial 16.04 |
|
|
|
# gcc 5 is the default on xenial |
|
|
|
- os: linux |
|
|
|
dist: xenial |
|
|
|
compiler: gcc |
|
|
|
addons: |
|
|
|
apt: |
|
|
|
packages: |
|
|
|
- valgrind |
|
|
|
- cppcheck |
|
|
|
- doxygen |
|
|
|
- cmake |
|
|
|
env: CHECK="true" |
|
|
|
|
|
|
|
# ubuntu bionic 18.04 |
|
|
|
# gcc 7 is the default on bionic |
|
|
|
- os: linux |
|
|
|
dist: bionic |
|
|
|
compiler: gcc |
|
|
|
addons: |
|
|
|
apt: |
|
|
|
packages: |
|
|
|
- valgrind |
|
|
|
- cppcheck |
|
|
|
- doxygen |
|
|
|
- cmake |
|
|
|
env: CHECK="true" |
|
|
|
|
|
|
|
# ubuntu focal fossa 20.04 |
|
|
|
# gcc 9 is the default on bionic |
|
|
|
- os: linux |
|
|
|
dist: focal |
|
|
|
compiler: gcc |
|
|
|
addons: |
|
|
|
apt: |
|
|
|
packages: |
|
|
|
- valgrind |
|
|
|
- cppcheck |
|
|
|
- doxygen |
|
|
|
- cmake |
|
|
|
env: CHECK="true" |
|
|
|
|
|
|
|
# clang |
|
|
|
# xenial |
|
|
|
- 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 focal, xenial and bionic |
|
|
|
- os: linux |
|
|
|
dist: focal |
|
|
|
compiler: clang |
|
|
|
addons: |
|
|
|
apt: |
|
|
|
packages: |
|
|
|
- valgrind |
|
|
|
- cppcheck |
|
|
|
- doxygen |
|
|
|
- cmake |
|
|
|
env: CHECK="true" |
|
|
|
|
|
|
|
# osx |
|
|
|
- os: osx |
|
|
|
osx_image: xcode13.4 |
|
|
|
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" |
|
|
|
- cmake -B_builds -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=13.0 -DCMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH=NO -DCMAKE_IOS_INSTALL_COMBINED=YES .. || { echo "Failed to run cmake" ; exit 1 ; } |
|
|
|
|
|
|
|
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 |
|
|
|
- cmake --build _builds --config Release --target json-c-static -- -sdk iphonesimulator |