From: Casey Bodley Date: Wed, 10 Aug 2022 17:59:56 +0000 (-0400) Subject: cmake: enforce minimum compiler versions for c++20 X-Git-Tag: v18.0.0~290^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4dc6ad6ee5b3146b9198769e0606f31dcf00a1a0;p=ceph.git cmake: enforce minimum compiler versions for c++20 Signed-off-by: Casey Bodley --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b301c720f42..f22ff7b2b9f 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 ")