diff --git a/CMakeLists.txt b/CMakeLists.txt index 9de589f38..785778f40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,7 +32,13 @@ MY_CHECK_CXX_COMPILER_FLAG("-std=c++20") IF (have_CXX__std_c__20) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") ELSE() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++2a") + MY_CHECK_CXX_COMPILER_FLAG("-std=c++2a") + IF (have_CXX__std_c__2a) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++2a") + ELSE() + MESSAGE_ONCE(CS_NO_CXX20 "C++ Compiler does not understand -std=c++20") + return() + ENDIF() ENDIF() UNSET(CMAKE_CXX_STANDARD)