add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-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($<$<COMPILE_LANGUAGE:CXX>:-fpermissive>)
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 ")