MSVC: Use -std:c++23preview flag for C++23 when available

This was added by VS 17.13.

Fixes: #26692
This commit is contained in:
Brad King 2025-03-12 14:23:00 -04:00
parent 1b4a802413
commit b3f1c60aff
2 changed files with 12 additions and 1 deletions

View File

@ -42,7 +42,11 @@ if ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0.24215.1 AND
set(CMAKE_CXX_STANDARD_LATEST 20)
endif()
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.29.30129)
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.43.34808)
set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std:c++23preview")
set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std:c++23preview")
set(CMAKE_CXX_STANDARD_LATEST 23)
elseif(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)

View File

@ -496,6 +496,13 @@
"value": "stdcpp20",
"flags": []
},
{
"name": "LanguageStandard",
"switch": "std:c++23preview",
"comment": "Preview - ISO C++23 Standard",
"value": "stdcpp23",
"flags": []
},
{
"name": "LanguageStandard",
"switch": "std:c++latest",