1# Build matrix / environment variables are explained on: 2# http://about.travis-ci.com/docs/user/build-configuration/ 3# This file can be validated on: http://www.yamllint.com/ 4# Or using the Ruby based travel command line tool: 5# gem install travis --no-rdoc --no-ri 6# travis lint .travis.yml 7language: cpp 8sudo: false 9addons: 10 homebrew: 11 packages: 12 - clang-format 13 - meson 14 - ninja 15 update: false # do not update homebrew by default 16 apt: 17 sources: 18 - ubuntu-toolchain-r-test 19 - llvm-toolchain-xenial-8 20 packages: 21 - clang-format-8 22 - clang-8 23 - valgrind 24matrix: 25 include: 26 - name: Mac clang meson static release testing 27 os: osx 28 osx_image: xcode11 29 compiler: clang 30 env: 31 CXX="clang++" 32 CC="clang" 33 LIB_TYPE=static 34 BUILD_TYPE=release 35 script: ./.travis_scripts/meson_builder.sh 36 - name: Linux xenial clang meson static release testing 37 os: linux 38 dist: xenial 39 compiler: clang 40 env: 41 CXX="clang++" 42 CC="clang" 43 LIB_TYPE=static 44 BUILD_TYPE=release 45 PYTHONUSERBASE="$(pwd)/LOCAL" 46 PATH="$PYTHONUSERBASE/bin:$PATH" 47 # before_install and install steps only needed for linux meson builds 48 before_install: 49 - source ./.travis_scripts/travis.before_install.${TRAVIS_OS_NAME}.sh 50 install: 51 - source ./.travis_scripts/travis.install.${TRAVIS_OS_NAME}.sh 52 script: ./.travis_scripts/meson_builder.sh 53 - name: Linux xenial gcc cmake coverage 54 os: linux 55 dist: xenial 56 compiler: gcc 57 env: 58 CXX=g++ 59 CC=gcc 60 DO_Coverage=ON 61 BUILD_TOOL="Unix Makefiles" 62 BUILD_TYPE=Debug 63 LIB_TYPE=shared 64 DESTDIR=/tmp/cmake_json_cpp 65 before_install: 66 - pip install --user cpp-coveralls 67 script: ./.travis_scripts/cmake_builder.sh 68 after_success: 69 - coveralls --include src/lib_json --include include 70notifications: 71 email: false 72