浏览代码

MSVC: Split C++23 flag selection into dedicated block

Brad King 9 月之前
父节点
当前提交
1b4a802413
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      Modules/Compiler/MSVC-CXX.cmake

+ 7 - 3
Modules/Compiler/MSVC-CXX.cmake

@@ -35,15 +35,19 @@ if ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0.24215.1 AND
   if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.29.30129)
     set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std:c++20")
     set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std:c++20")
-    set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std:c++latest")
-    set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std:c++latest")
-    set(CMAKE_CXX_STANDARD_LATEST 23)
+    set(CMAKE_CXX_STANDARD_LATEST 20)
   elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.12.25835)
     set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std:c++latest")
     set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std:c++latest")
     set(CMAKE_CXX_STANDARD_LATEST 20)
   endif()
 
+  if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.29.30129)
+    set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std:c++latest")
+    set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std:c++latest")
+    set(CMAKE_CXX_STANDARD_LATEST 23)
+  endif()
+
   __compiler_check_default_language_standard(CXX 19.0 14)
 
 elseif (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)