mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Add C++17 builds to Travis
This commit is contained in:
		
							
								
								
									
										31
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -244,12 +244,39 @@ matrix: | |||||||
|       compiler: clang |       compiler: clang | ||||||
|       env: COMPILER='clang++' CPP14=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1 |       env: COMPILER='clang++' CPP14=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1 | ||||||
|  |  | ||||||
|  |     # 7/ C++17 builds | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: *gcc7 | ||||||
|  |       env: COMPILER='g++-7' CPP17=1 | ||||||
|  |  | ||||||
|  |     - os: linux | ||||||
|  |       compiler: gcc | ||||||
|  |       addons: *gcc7 | ||||||
|  |       env: COMPILER='g++-7' EXAMPLES=1 COVERAGE=1 EXTRAS=1 CPP17=1 | ||||||
|  |  | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: | ||||||
|  |           apt: | ||||||
|  |               sources: *all_sources | ||||||
|  |               packages: ['clang-6.0', 'libstdc++-7-dev'] | ||||||
|  |       env: COMPILER='clang++-6.0' CPP17=1 | ||||||
|  |  | ||||||
|  |     - os: linux | ||||||
|  |       compiler: clang | ||||||
|  |       addons: | ||||||
|  |           apt: | ||||||
|  |               sources: *all_sources | ||||||
|  |               packages: ['clang-6.0', 'libstdc++-7-dev'] | ||||||
|  |       env: COMPILER='clang++-6.0' CPP17=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1 | ||||||
|  |  | ||||||
| install: | install: | ||||||
|   - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" |   - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" | ||||||
|   - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR} |   - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR} | ||||||
|   - | |   - | | ||||||
|     if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then |     if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then | ||||||
|       CMAKE_URL="http://www.cmake.org/files/v3.5/cmake-3.5.2-Linux-x86_64.tar.gz" |       CMAKE_URL="http://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz" | ||||||
|       mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake |       mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake | ||||||
|       export PATH=${DEPS_DIR}/cmake/bin:${PATH} |       export PATH=${DEPS_DIR}/cmake/bin:${PATH} | ||||||
|     elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then |     elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then | ||||||
| @@ -263,7 +290,7 @@ before_script: | |||||||
|   - python scripts/generateSingleHeader.py |   - python scripts/generateSingleHeader.py | ||||||
|  |  | ||||||
|     # Use Debug builds for running Valgrind and building examples |     # Use Debug builds for running Valgrind and building examples | ||||||
|   - cmake -H. -BBuild-Debug -DCMAKE_BUILD_TYPE=Debug -Wdev -DUSE_CPP14=${CPP14} -DCATCH_USE_VALGRIND=${VALGRIND} -DCATCH_BUILD_EXAMPLES=${EXAMPLES} -DCATCH_ENABLE_COVERAGE=${COVERAGE} -DCATCH_BUILD_EXTRA_TESTS=${EXTRAS} |   - cmake -H. -BBuild-Debug -DCMAKE_BUILD_TYPE=Debug -Wdev -DUSE_CPP14=${CPP14} -DUSE_CPP17=${CPP17} -DCATCH_USE_VALGRIND=${VALGRIND} -DCATCH_BUILD_EXAMPLES=${EXAMPLES} -DCATCH_ENABLE_COVERAGE=${COVERAGE} -DCATCH_BUILD_EXTRA_TESTS=${EXTRAS} | ||||||
|     # Don't bother with release build for coverage build |     # Don't bother with release build for coverage build | ||||||
|   - cmake -H. -BBuild-Release -DCMAKE_BUILD_TYPE=Release -Wdev -DUSE_CPP14=${CPP14} |   - cmake -H. -BBuild-Release -DCMAKE_BUILD_TYPE=Release -Wdev -DUSE_CPP14=${CPP14} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -267,7 +267,10 @@ include(CTest) | |||||||
| add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${REPORTER_SOURCES} ${SURROGATE_SOURCES} ${HEADERS}) | add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${REPORTER_SOURCES} ${SURROGATE_SOURCES} ${HEADERS}) | ||||||
| target_include_directories(SelfTest PRIVATE ${HEADER_DIR}) | target_include_directories(SelfTest PRIVATE ${HEADER_DIR}) | ||||||
|  |  | ||||||
| if(USE_CPP14) | if(USE_CPP17) | ||||||
|  |     message(STATUS "Enabling C++17") | ||||||
|  |     set_property(TARGET SelfTest PROPERTY CXX_STANDARD 17) | ||||||
|  | elseif(USE_CPP14) | ||||||
|     message(STATUS "Enabling C++14") |     message(STATUS "Enabling C++14") | ||||||
|     set_property(TARGET SelfTest PROPERTY CXX_STANDARD 14) |     set_property(TARGET SelfTest PROPERTY CXX_STANDARD 14) | ||||||
| else() | else() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský