Modernize Travis and Appveyor configs

This PR updates the Travis and Appveyor configs to use more recent
toolchain versions, allowing for better C++11 compliance.
This commit is contained in:
Jordan Bayles 2019-06-25 14:27:26 -07:00
parent 2d211de06e
commit 408b466b57
2 changed files with 26 additions and 36 deletions

View File

@ -1,10 +1,9 @@
# Build matrix / environment variables are explained on: # Build matrix / environment variables are explained on:
# http://about.travis-ci.org/docs/user/build-configuration/ # http://about.travis-ci.org/docs/user/build-configuration/
# This file can be validated on: # This file can be validated on: http://www.yamllint.com/
# http://lint.travis-ci.org/ # Or using the Ruby based travel command line tool:
# See also # gem install travis --no-rdoc --no-ri
# http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448 # travis lint .travis.yml
# to allow C++11, though we are not yet building with -std=c++11
language: cpp language: cpp
sudo: false sudo: false
addons: addons:
@ -15,12 +14,10 @@ addons:
update: false # do not update homebrew by default update: false # do not update homebrew by default
apt: apt:
sources: sources:
#- ubuntu-toolchain-r-test - ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.5 - llvm-toolchain-xenial-8
packages: packages:
#- gcc-4.9 - clang-8
#- g++-4.9
- clang-3.5
- valgrind - valgrind
matrix: matrix:
allow_failures: allow_failures:
@ -28,21 +25,21 @@ matrix:
include: include:
- name: Mac clang meson static release testing - name: Mac clang meson static release testing
os: osx os: osx
osx_image: xcode9.4 osx_image: xcode10.2
compiler: clang compiler: clang
env: env:
CXX="clang++-3.5" CXX="clang++"
CC="clang-3.5" CC="clang"
LIB_TYPE=static LIB_TYPE=static
BUILD_TYPE=release BUILD_TYPE=release
script: ./.travis_scripts/meson_builder.sh script: ./.travis_scripts/meson_builder.sh
- name: trusty clang meson static release testing - name: xenial clang meson static release testing
os: linux os: linux
dist: trusty dist: xenial
compiler: clang compiler: clang
env: env:
CXX="clang++-3.5" CXX="clang++"
CC="clang-3.5" CC="clang"
LIB_TYPE=static LIB_TYPE=static
BUILD_TYPE=release BUILD_TYPE=release
# before_install and install steps only needed for linux meson builds # before_install and install steps only needed for linux meson builds
@ -64,14 +61,5 @@ matrix:
LIB_TYPE=shared LIB_TYPE=shared
DESTDIR=/tmp/cmake_json_cpp DESTDIR=/tmp/cmake_json_cpp
script: ./.travis_scripts/cmake_builder.sh script: ./.travis_scripts/cmake_builder.sh
# Valgrind has too many false positives from the python wrapping. Need a good suppression file
# - name: xenial gcc cmake coverage
# os: linux
# dist: xenial
# compiler: gcc
# env: DO_MemCheck=ON CXX=/usr/bin/g++ BUILD_TOOL="Unix Makefiles" BUILD_TYPE=Debug LIB_TYPE=shared DESTDIR=/tmp/cmake_json_cpp
# script: ./.travis_scripts/cmake_builder.sh
notifications: notifications:
email: false email: false

View File

@ -2,17 +2,19 @@ clone_folder: c:\projects\jsoncpp
environment: environment:
matrix: matrix:
- CMAKE_GENERATOR: Visual Studio 12 2013
- CMAKE_GENERATOR: Visual Studio 12 2013 Win64
- CMAKE_GENERATOR: Visual Studio 14 2015 - CMAKE_GENERATOR: Visual Studio 14 2015
- CMAKE_GENERATOR: Visual Studio 14 2015 Win64 - CMAKE_GENERATOR: Visual Studio 14 2015 Win64
- CMAKE_GENERATOR: Visual Studio 15 2017
- CMAKE_GENERATOR: Visual Studio 15 2017 Win64
build_script: build_script:
- cmake --version - cmake --version
- cd c:\projects\jsoncpp - cd c:\projects\jsoncpp
- cmake -G "%CMAKE_GENERATOR%" -DCMAKE_INSTALL_PREFIX:PATH=%CD:\=/%/install -DBUILD_SHARED_LIBS:BOOL=ON . - cmake -G "%CMAKE_GENERATOR%" -DCMAKE_INSTALL_PREFIX:PATH=%CD:\=/%/install -DBUILD_SHARED_LIBS:BOOL=ON .
# Use ctest to make a dashboard build ctest -D Experimental(Start|Update|Configure|Build|Test|Coverage|MemCheck|Submit) # Use ctest to make a dashboard build:
#NOTE Testing on window is not yet finished - ctest -C Release -D ExperimentalStart -D ExperimentalConfigure -D ExperimentalBuild -D ExperimentalTest -D ExperimentalSubmit # - ctest -D Experimental(Start|Update|Configure|Build|Test|Coverage|MemCheck|Submit)
# NOTE: Testing on window is not yet finished:
# - ctest -C Release -D ExperimentalStart -D ExperimentalConfigure -D ExperimentalBuild -D ExperimentalTest -D ExperimentalSubmit
- ctest -C Release -D ExperimentalStart -D ExperimentalConfigure -D ExperimentalBuild -D ExperimentalSubmit - ctest -C Release -D ExperimentalStart -D ExperimentalConfigure -D ExperimentalBuild -D ExperimentalSubmit
# Final step is to verify that installation succeeds # Final step is to verify that installation succeeds
- cmake --build . --config Release --target install - cmake --build . --config Release --target install