Jelajahi Sumber

cmake: Set C11 for CMake < 3.21

derrod 2 tahun lalu
induk
melakukan
90b8e3585e
1 mengubah file dengan 9 tambahan dan 2 penghapusan
  1. 9 2
      cmake/Modules/CompilerConfig.cmake

+ 9 - 2
cmake/Modules/CompilerConfig.cmake

@@ -5,8 +5,15 @@ set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 set(CMAKE_CXX_EXTENSIONS OFF)
 
-set(CMAKE_C_STANDARD 17)
-set(CMAKE_C_STANDARD_REQUIRED ON)
+# CMake < 3.21 only goes up to 11, but it's mostly identical to 17 anyway.
+if(${CMAKE_VERSION} VERSION_LESS "3.21.0")
+  set(CMAKE_C_STANDARD 11)
+  set(CMAKE_C_STANDARD_REQUIRED ON)
+else()
+  set(CMAKE_C_STANDARD 17)
+  set(CMAKE_C_STANDARD_REQUIRED ON)
+endif()
+
 # TODO/FIXME: Investigate disabling C extensions on Linux/POSIX
 if(OS_MACOS OR NOT OS_POSIX)
   set(CMAKE_C_EXTENSIONS OFF)