aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml83
1 files changed, 68 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml
index a913b09..0554dc9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,18 +1,71 @@
-# Build matrix / environment variable are explained on:
+# Build matrix / environment variables are explained on:
# http://about.travis-ci.org/docs/user/build-configuration/
-# This file can be validated on:
-# http://lint.travis-ci.org/
-before_install: sudo apt-get install cmake
+# 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
-compiler:
- - gcc
- - clang
-script: cmake -DJSONCPP_LIB_BUILD_SHARED=$SHARED_LIBRARY -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE . && make
-env:
- matrix:
- - SHARED_LIBRARY=ON BUILD_TYPE=release VERBOSE_MAKE=false
- - SHARED_LIBRARY=OFF BUILD_TYPE=release VERBOSE_MAKE=false
- - SHARED_LIBRARY=OFF BUILD_TYPE=debug VERBOSE VERBOSE_MAKE=true
+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
+ 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
+ # 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 cmake 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
+ before_install:
+ - pip install --user cpp-coveralls
+ script: ./.travis_scripts/cmake_builder.sh
+ after_success:
+ - coveralls --include src/lib_json --include include
notifications:
- email:
- - aaronjjacobs@gmail.com
+ email: false