aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorAnna Gringauze <annagrin@microsoft.com>2018-06-15 10:13:11 -0700
committerGitHub <noreply@github.com>2018-06-15 10:13:11 -0700
commit21cb6bb8b0fbfb06c30ef273cd0a59f8a6b06a39 (patch)
tree984180b435a8308a020edc595405d8afe0a2617d /.travis.yml
parenta9ef39f14ac2b0e732b22122e5fabb8dae8284db (diff)
downloadplatform_external_Microsoft-GSL-21cb6bb8b0fbfb06c30ef273cd0a59f8a6b06a39.tar.gz
platform_external_Microsoft-GSL-21cb6bb8b0fbfb06c30ef273cd0a59f8a6b06a39.tar.bz2
platform_external_Microsoft-GSL-21cb6bb8b0fbfb06c30ef273cd0a59f8a6b06a39.zip
Added testing for c++17 to latest compilers with test with (#692)
* Added testing with std=c++17 for latest compilers Added running latest compilers with -std=c++17 option to CI the test matrix, Updated cmake configuration to allow passing c++ standard on the command line. * attempt to fix appveyor break * added clang6.0, removed c++17 tests for clang 5.0 * commented out tests for clang with c++17 die to issue #695 * Addresed comments
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml78
1 files changed, 54 insertions, 24 deletions
diff --git a/.travis.yml b/.travis.yml
index c373da2..bb32890 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,23 +23,23 @@ matrix:
##########################################################################
# XCode 8.3
- - env: COMPILER=clang++ BUILD_TYPE=Debug
+ - env: COMPILER=clang++ BUILD_TYPE=Debug GSL_CXX_STANDARD=14
os: osx
osx_image: xcode8.3
compiler: clang
- - env: COMPILER=clang++ BUILD_TYPE=Release
+ - env: COMPILER=clang++ BUILD_TYPE=Release GSL_CXX_STANDARD=14
os: osx
osx_image: xcode8.3
compiler: clang
# XCode 9.1
- - env: COMPILER=clang++ BUILD_TYPE=Debug
+ - env: COMPILER=clang++ BUILD_TYPE=Debug GSL_CXX_STANDARD=14
os: osx
osx_image: xcode9.1
compiler: clang
- - env: COMPILER=clang++ BUILD_TYPE=Release
+ - env: COMPILER=clang++ BUILD_TYPE=Release GSL_CXX_STANDARD=14
os: osx
osx_image: xcode9.1
compiler: clang
@@ -49,7 +49,7 @@ matrix:
##########################################################################
# Clang 3.6
- - env: COMPILER=clang++-3.6 BUILD_TYPE=Debug
+ - env: COMPILER=clang++-3.6 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &clang36
apt:
packages:
@@ -59,11 +59,11 @@ matrix:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.6
- - env: COMPILER=clang++-3.6 BUILD_TYPE=Release
+ - env: COMPILER=clang++-3.6 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *clang36
# Clang 3.7
- - env: COMPILER=clang++-3.7 BUILD_TYPE=Debug
+ - env: COMPILER=clang++-3.7 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &clang37
apt:
packages:
@@ -73,11 +73,11 @@ matrix:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
- - env: COMPILER=clang++-3.7 BUILD_TYPE=Release
+ - env: COMPILER=clang++-3.7 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *clang37
# Clang 3.8
- - env: COMPILER=clang++-3.8 BUILD_TYPE=Debug
+ - env: COMPILER=clang++-3.8 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &clang38
apt:
packages:
@@ -87,11 +87,11 @@ matrix:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
- - env: COMPILER=clang++-3.8 BUILD_TYPE=Release
+ - env: COMPILER=clang++-3.8 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *clang38
# Clang 3.9
- - env: COMPILER=clang++-3.9 BUILD_TYPE=Debug
+ - env: COMPILER=clang++-3.9 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &clang39
apt:
packages:
@@ -101,11 +101,11 @@ matrix:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
- - env: COMPILER=clang++-3.9 BUILD_TYPE=Release
+ - env: COMPILER=clang++-3.9 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *clang39
# Clang 4.0
- - env: COMPILER=clang++-4.0 BUILD_TYPE=Debug
+ - env: COMPILER=clang++-4.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &clang40
apt:
packages:
@@ -115,11 +115,11 @@ matrix:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-4.0
- - env: COMPILER=clang++-4.0 BUILD_TYPE=Release
+ - env: COMPILER=clang++-4.0 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *clang40
# Clang 5.0
- - env: COMPILER=clang++-5.0 BUILD_TYPE=Debug
+ - env: COMPILER=clang++-5.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &clang50
apt:
packages:
@@ -131,46 +131,76 @@ matrix:
- sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
- - env: COMPILER=clang++-5.0 BUILD_TYPE=Release
- addons: *clang50
+ - env: COMPILER=clang++-5.0 BUILD_TYPE=Release GSL_CXX_STANDARD=14
+ addons: *clang50
+
+ # Clang 6.0
+ - env: COMPILER=clang++-6.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
+ addons: &clang60
+ apt:
+ packages:
+ - clang-6.0
+ - g++-6
+ sources:
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-6.0
+ - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main'
+ key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
+
+ - env: COMPILER=clang++-6.0 BUILD_TYPE=Release GSL_CXX_STANDARD=14
+ addons: *clang60
+
+ # Does not work due to #695
+ # Clang 6.0 c++17
+ #- env: COMPILER=clang++-6.0 BUILD_TYPE=Debug GSL_CXX_STANDARD=17
+ # addons: *clang60
+
+ #- env: COMPILER=clang++-6.0 BUILD_TYPE=Release GSL_CXX_STANDARD=17
+ # addons: *clang60
##########################################################################
# GCC on Linux
##########################################################################
# GCC 5
- - env: COMPILER=g++-5 BUILD_TYPE=Debug
+ - env: COMPILER=g++-5 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &gcc5
apt:
packages: g++-5
sources:
- ubuntu-toolchain-r-test
- - env: COMPILER=g++-5 BUILD_TYPE=Release
+ - env: COMPILER=g++-5 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *gcc5
# GCC 6
- - env: COMPILER=g++-6 BUILD_TYPE=Debug
+ - env: COMPILER=g++-6 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &gcc6
apt:
packages: g++-6
sources:
- ubuntu-toolchain-r-test
- - env: COMPILER=g++-6 BUILD_TYPE=Release
+ - env: COMPILER=g++-6 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *gcc6
# GCC 7
- - env: COMPILER=g++-7 BUILD_TYPE=Debug
+ - env: COMPILER=g++-7 BUILD_TYPE=Debug GSL_CXX_STANDARD=14
addons: &gcc7
apt:
packages: g++-7
sources:
- ubuntu-toolchain-r-test
- - env: COMPILER=g++-7 BUILD_TYPE=Release
+ - env: COMPILER=g++-7 BUILD_TYPE=Release GSL_CXX_STANDARD=14
addons: *gcc7
+ # GCC 7 c++17
+ - env: COMPILER=g++-7 BUILD_TYPE=Debug GSL_CXX_STANDARD=17
+ addons: *gcc7
+
+ - env: COMPILER=g++-7 BUILD_TYPE=Release GSL_CXX_STANDARD=17
+ addons: *gcc7
install:
# Set the ${CXX} variable properly
@@ -230,7 +260,7 @@ before_script:
# have CMake to generate build files
- cd "${TRAVIS_BUILD_DIR}"
- mkdir build && cd build
- - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
+ - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DGSL_CXX_STANDARD=$GSL_CXX_STANDARD
script:
# build and run tests