cmake: detect C++ standard automatically
This commit is contained in:
parent
75f3b1c094
commit
87e21a3734
@ -157,6 +157,16 @@ option(FMT_OS "Include core requiring OS (Windows/Posix) " ON)
|
|||||||
option(FMT_MODULE "Build a module instead of a traditional library." OFF)
|
option(FMT_MODULE "Build a module instead of a traditional library." OFF)
|
||||||
option(FMT_SYSTEM_HEADERS "Expose headers with marking them as system." OFF)
|
option(FMT_SYSTEM_HEADERS "Expose headers with marking them as system." OFF)
|
||||||
|
|
||||||
|
# Set the highest supported standard if it has not been externally defined
|
||||||
|
if(NOT DEFINED CMAKE_CXX_STANDARD)
|
||||||
|
foreach(std_ver 23 20 17 14 11)
|
||||||
|
if(CMAKE_CXX_COMPILE_FEATURES MATCHES "cxx_std_${std_ver}")
|
||||||
|
set(CMAKE_CXX_STANDARD ${std_ver})
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(FMT_CAN_MODULE OFF)
|
set(FMT_CAN_MODULE OFF)
|
||||||
if (CMAKE_CXX_STANDARD GREATER 17 AND NOT MSVC)
|
if (CMAKE_CXX_STANDARD GREATER 17 AND NOT MSVC)
|
||||||
set(FMT_CAN_MODULE ON)
|
set(FMT_CAN_MODULE ON)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user