We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 46690dd commit 3e8d89dCopy full SHA for 3e8d89d
CMakeLists.txt
@@ -9,7 +9,21 @@ endif()
9
10
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
11
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
12
-set (CMAKE_CXX_STANDARD 11)
+
13
+# if standard not provided, use the latest supported by the compiler
14
+if("${CMAKE_CXX_STANDARD}" STREQUAL "")
15
+ function(_set_language_standard output language)
16
+ foreach(version IN LISTS ARGN)
17
+ if(DEFINED "CMAKE_${language}${version}_STANDARD_COMPILE_OPTION"
18
+ OR DEFINED "CMAKE_${language}${version}_EXTENSION_COMPILE_OPTION"
19
+ )
20
+ set("${output}" "${version}" PARENT_SCOPE)
21
+ break()
22
+ endif()
23
+ endforeach()
24
+ endfunction()
25
+ _set_language_standard(CMAKE_CXX_STANDARD CXX 20 17 14 11)
26
+endif()
27
28
include(GNUInstallDirs)
29
0 commit comments