diff --git a/CMakeLists.txt b/CMakeLists.txt index cf57d4bb..8a32f08e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -334,12 +334,16 @@ list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_11 HAS_CXX11) list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_14 HAS_CXX14) list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_17 HAS_CXX17) list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_20 HAS_CXX20) +list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_23 HAS_CXX23) if(NOT DEFINED MDBX_CXX_STANDARD) if(DEFINED ENV{CMAKE_CXX_STANDARD}) set(CMAKE_CXX_STANDARD $ENV{CMAKE_CXX_STANDARD}) endif() if(DEFINED CMAKE_CXX_STANDARD) set(MDBX_CXX_STANDARD ${CMAKE_CXX_STANDARD}) + elseif(NOT HAS_CXX23 LESS 0 + AND NOT (CMAKE_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12)) + set(MDBX_CXX_STANDARD 23) elseif(NOT HAS_CXX20 LESS 0 AND NOT (CMAKE_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)) set(MDBX_CXX_STANDARD 20)