Fix travis configuration to enable C++17 tests
diff --git a/.travis.yml b/.travis.yml
index aef17a1..003d6a1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -210,7 +210,7 @@
     compiler: gcc
     env:
       - COMPILER=g++-9
-      - CXXFLAGS=-std=c++2a
+      - CXX_STANDARD=17
     addons:
       apt:
         sources: ['ubuntu-toolchain-r-test']
@@ -294,7 +294,7 @@
     compiler: clang
     env:
       - COMPILER=clang++-7
-      - CXXFLAGS=-std=c++1z
+      - CXX_STANDARD=17
     addons:
       apt:
         sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-7']
@@ -321,6 +321,9 @@
   # by default, use implicit conversions
   - if [[ "${IMPLICIT_CONVERSIONS}" == "" ]]; then export IMPLICIT_CONVERSIONS=ON; fi
 
+  # append CXX_STANDARD to CMAKE_OPTIONS if required
+  - CMAKE_OPTIONS+=${CXX_STANDARD:+ -DCMAKE_CXX_STANDARD=$CXX_STANDARD -DCMAKE_CXX_STANDARD_REQUIRED=ON}
+
   # compile and execute unit tests
   - mkdir -p build && cd build
   - cmake .. ${CMAKE_OPTIONS} -DJSON_MultipleHeaders=${MULTIPLE_HEADERS} -DJSON_ImplicitConversions=${IMPLICIT_CONVERSIONS} -DJSON_BuildTests=On -GNinja && cmake --build . --config Release