From 4dc6ad6ee5b3146b9198769e0606f31dcf00a1a0 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Wed, 10 Aug 2022 13:59:56 -0400 Subject: [PATCH] cmake: enforce minimum compiler versions for c++20 Signed-off-by: Casey Bodley --- src/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b301c720f42b5..f22ff7b2b9fea 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -115,6 +115,9 @@ if(COMPILER_SUPPORTS_REDUNDANT_MOVE) add_compile_options($<$:-Wredundant-move>) endif() if(CMAKE_CXX_COMPILER_ID STREQUAL GNU) + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11) # require >= gcc-11 + message(FATAL_ERROR "C++20 support requires a minimum GCC version of 11.") + endif() if(MINGW) # The MINGW headers are missing some "const" qualifiers. add_compile_options($<$:-fpermissive>) @@ -133,6 +136,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL GNU) endif() endif() elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang) + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12) # require >= clang-12 + message(FATAL_ERROR "C++20 support requires a minimum Clang version of 12.") + endif() set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_EXPORTS_C_FLAG}") string(APPEND CMAKE_LINKER_FLAGS " -rdynamic -export-dynamic ${CMAKE_EXE_EXPORTS_C_FLAG}") string(PREPEND CMAKE_CXX_FLAGS_DEBUG "-g ") -- 2.39.5