diff --git a/Modules/Compiler/MSVC-CXX.cmake b/Modules/Compiler/MSVC-CXX.cmake index 2243a14496..f30983ed5e 100644 --- a/Modules/Compiler/MSVC-CXX.cmake +++ b/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)