| # Build matrix / environment variables are explained on: |
| # http://about.travis-ci.org/docs/user/build-configuration/ |
| # This file can be validated on: http://www.yamllint.com/ |
| # Or using the Ruby based travel command line tool: |
| # gem install travis --no-rdoc --no-ri |
| # travis lint .travis.yml |
| language: cpp |
| sudo: false |
| addons: |
| homebrew: |
| packages: |
| - clang-format |
| - meson |
| - ninja |
| update: false # do not update homebrew by default |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| - llvm-toolchain-xenial-8 |
| packages: |
| - clang-format-8 |
| - clang-8 |
| - valgrind |
| matrix: |
| allow_failures: |
| - os: osx |
| include: |
| - name: Mac clang meson static release testing |
| os: osx |
| osx_image: xcode11 |
| compiler: clang |
| env: |
| CXX="clang++" |
| CC="clang" |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| LANGUAGE_STANDARD="11" |
| script: ./.travis_scripts/meson_builder.sh |
| - name: Linux xenial clang meson static release testing |
| os: linux |
| dist: xenial |
| compiler: clang |
| env: |
| CXX="clang++" |
| CC="clang" |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| LANGUAGE_STANDARD="11" |
| # before_install and install steps only needed for linux meson builds |
| before_install: |
| - source ./.travis_scripts/travis.before_install.${TRAVIS_OS_NAME}.sh |
| install: |
| - source ./.travis_scripts/travis.install.${TRAVIS_OS_NAME}.sh |
| script: ./.travis_scripts/meson_builder.sh |
| - name: Linux xenial gcc-4.6 meson static release with C++03 testing |
| os: linux |
| dist: xenial |
| compiler: gcc |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - g++-4.6 |
| env: |
| CC=gcc-4.6 |
| CXX=g++-4.6 |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| LANGUAGE_STANDARD="03" |
| # before_install and install steps only needed for linux meson builds |
| before_install: |
| - source ./.travis_scripts/travis.before_install.${TRAVIS_OS_NAME}.sh |
| install: |
| - source ./.travis_scripts/travis.install.${TRAVIS_OS_NAME}.sh |
| script: ./.travis_scripts/meson_builder.sh |
| - name: Linux xenial gcc-4.6 meson static release with C++98 testing |
| os: linux |
| dist: xenial |
| compiler: gcc |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - g++-4.6 |
| env: |
| CC=gcc-4.6 |
| CXX=g++-4.6 |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| LANGUAGE_STANDARD="98" |
| # before_install and install steps only needed for linux meson builds |
| before_install: |
| - source ./.travis_scripts/travis.before_install.${TRAVIS_OS_NAME}.sh |
| install: |
| - source ./.travis_scripts/travis.install.${TRAVIS_OS_NAME}.sh |
| script: ./.travis_scripts/meson_builder.sh |
| |
| - name: Linux xenial gcc-5.4 cmake-3.12 coverage |
| os: linux |
| dist: xenial |
| compiler: gcc |
| env: |
| CXX=g++ |
| CC=gcc |
| DO_Coverage=ON |
| BUILD_TOOL="Unix Makefiles" |
| BUILD_TYPE=Debug |
| LIB_TYPE=shared |
| DESTDIR=/tmp/cmake_json_cpp |
| LANGUAGE_STANDARD="11" |
| before_install: |
| - pip install --user cpp-coveralls |
| script: ./.travis_scripts/cmake_builder.sh |
| after_success: |
| - coveralls --include src/lib_json --include include |
| - name: Linux xenial gcc-4.6 cmake-3.12 with C++98 testing |
| os: linux |
| dist: xenial |
| compiler: gcc |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - g++-4.6 |
| - valgrind |
| env: |
| CC=gcc-4.6 |
| CXX=g++-4.6 |
| DO_MemCheck=ON |
| BUILD_TOOL="Unix Makefiles" |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| DESTDIR=/tmp/cmake_json_cpp |
| LANGUAGE_STANDARD="98" |
| before_install: |
| - sudo apt-get update |
| - sudo apt-get install python3 |
| script: ./.travis_scripts/cmake_builder.sh |
| - name: Linux xenial gcc-5.4 cmake-3.12 with C++98 testing |
| os: linux |
| dist: xenial |
| compiler: gcc |
| env: |
| CC=gcc |
| CXX=g++ |
| DO_MemCheck=ON |
| BUILD_TOOL="Unix Makefiles" |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| DESTDIR=/tmp/cmake_json_cpp |
| LANGUAGE_STANDARD="98" |
| script: ./.travis_scripts/cmake_builder.sh |
| - name: Linux xenial clang cmake-3.12 with C++11 testing |
| os: linux |
| dist: xenial |
| compiler: clang |
| env: |
| CC=clang |
| CXX=clang++ |
| DO_MemCheck=ON |
| BUILD_TOOL="Unix Makefiles" |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| DESTDIR=/tmp/cmake_json_cpp |
| LANGUAGE_STANDARD="11" |
| script: ./.travis_scripts/cmake_builder.sh |
| - name: Linux xenial clang cmake-3.12 with C++98 testing |
| os: linux |
| dist: xenial |
| compiler: gcc |
| env: |
| CC=clang |
| CXX=clang++ |
| DO_MemCheck=ON |
| BUILD_TOOL="Unix Makefiles" |
| LIB_TYPE=static |
| BUILD_TYPE=release |
| DESTDIR=/tmp/cmake_json_cpp |
| LANGUAGE_STANDARD="98" |
| script: ./.travis_scripts/cmake_builder.sh |
| notifications: |
| email: false |