From ec3c95c91a34157c6615ed71267c6c36ce29ff5c Mon Sep 17 00:00:00 2001 From: Phuntsok Drak-pa Date: Mon, 16 Apr 2018 00:47:15 +0200 Subject: [PATCH] hopefully will fix CircleCI --- CMakeLists.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 66abd74..cd131c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,22 @@ set(CXX_COVERAGE_COMPILE_FLAGS "-pedantic -Wall -Wextra -Wold-style-cast -Woverl set(CMAKE_CXX_FLAGS_DEBUG "${CXX_COVERAGE_COMPILE_FLAGS} -DDebug -g -pg") set(CMAKE_CXX_FLAGS_RELEASE "${CXX_COVERAGE_COMPILE_FLAGS} -O3") -set(CMAKE_CXX_STANDARD 17) +include(CheckCXXCompilerFlag) + +# Check for standard to use +check_cxx_compiler_flag(-std=c++17 HAVE_FLAG_STD_CXX17) +if(HAVE_FLAG_STD_CXX17) + set(CMAKE_CXX_STANDARD 17) +else() + check_cxx_compiler_flag(-std=c++1z HAVE_FLAG_STD_CXX1Z) + if(HAVE_FLAG_STD_CXX1Z) + set(CXX_COVERAGE_COMPILE_FLAGS "${CXX_COVERAGE_COMPILE_FLAGS} -std=c++1z") + else() + message( FATAL_ERROR "C++17 not supported, CMake will exit." ) + endif() +endif() + +# set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED YES) set(CMAKE_CXX_EXTENSIONS OFF)