Merge topic 'vs2022'

0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2
1ac1436b25 VS: Fix `/sourceDependencies` flag table entries for v143
919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143
3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143
ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143
c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143
993d706a17 VS: Populate `/JMC-` flag table entry for v143
a070d87e08 VS: Populate `-Qspectre-` flag table entry for v143
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Egor Pugin <egor.pugin@gmail.com>
Merge-request: !6350
This commit is contained in:
Brad King
2021-07-19 16:41:08 +00:00
committed by Kitware Robot
9 changed files with 3505 additions and 13 deletions

View File

@@ -7,7 +7,7 @@ Generates Visual Studio 17 (VS 2022) project files.
.. warning::
This is experimental and based on "Visual Studio 2022 Preview 1.1".
This is experimental and based on "Visual Studio 2022 Preview 2".
As of this version of CMake, VS 2022 has not been released.
Project Types
@@ -51,7 +51,7 @@ name (architecture). For example:
Toolset Selection
^^^^^^^^^^^^^^^^^
The ``v142`` toolset that comes with VS 17 2022 Preview 1.1 is selected by
The ``v143`` toolset that comes with VS 17 2022 Preview 2 is selected by
default. The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.

View File

@@ -27,7 +27,7 @@ Generators
----------
* The :generator:`Visual Studio 17 2022` generator was added. This is
experimental and based on "Visual Studio 2022 Preview 1.1" because this
experimental and based on "Visual Studio 2022 Preview 2" because this
version of VS has not been released.
* The :ref:`Makefile Generators` and the :generator:`Ninja` generator
@@ -293,3 +293,14 @@ Other Changes
`cmake.org <https://cmake.org/download/>`_ now support
``liblzma`` multi-threading. See the :variable:`CPACK_THREADS` and
:variable:`CPACK_ARCHIVE_THREADS` variables.
Updates
=======
Changes made since CMake 3.21.0 include the following.
3.21.1
------
* The :generator:`Visual Studio 17 2022` generator is now based on
"Visual Studio 2022 Preview 2". Previously it was based on "Preview 1.1".

View File

@@ -19,8 +19,6 @@ Known version numbers are::
1900 = VS 14.0 (v140 toolset)
1910-1919 = VS 15.0 (v141 toolset)
1920-1929 = VS 16.0 (v142 toolset)
..
1930-1939 = VS 17.0 (v143 toolset)
See also the :variable:`CMAKE_<LANG>_COMPILER_VERSION` and

View File

@@ -15,6 +15,10 @@ namespace CSharp
+ "Visual Studio"
#elif PlatformToolsetv141
+ "Visual Studio"
#elif PlatformToolsetv142
+ "Visual Studio"
#elif PlatformToolsetv143
+ "Visual Studio"
#else
+ "unknown"
#endif
@@ -45,6 +49,10 @@ namespace CSharp
+ "2015"
#elif PlatformToolsetv141
+ "2017"
#elif PlatformToolsetv142
+ "2019"
#elif PlatformToolsetv143
+ "2022"
#else
+ "9999"
#endif

View File

@@ -104,8 +104,7 @@ static const char* VSVersionToToolset(
case cmGlobalVisualStudioGenerator::VS16:
return "v142";
case cmGlobalVisualStudioGenerator::VS17:
// FIXME: VS 2022 Preview 1 uses v142. Will it be v143 later?
return "v142";
return "v143";
}
return "";
}

View File

@@ -477,16 +477,16 @@
},
{
"name": "LanguageStandard",
"switch": "std:c++20",
"comment": "ISO C++20 Standard",
"value": "stdcpp20",
"switch": "std:c++17",
"comment": "ISO C++17 Standard",
"value": "stdcpp17",
"flags": []
},
{
"name": "LanguageStandard",
"switch": "std:c++17",
"comment": "ISO C++17 Standard",
"value": "stdcpp17",
"switch": "std:c++20",
"comment": "ISO C++20 Standard",
"value": "stdcpp20",
"flags": []
},
{

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,553 @@
[
{
"name": "ProjectName",
"switch": "out:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired"
]
},
{
"name": "OutputType",
"switch": "target:exe",
"comment": "",
"value": "Exe",
"flags": []
},
{
"name": "OutputType",
"switch": "target:winexe",
"comment": "",
"value": "Winexe",
"flags": []
},
{
"name": "OutputType",
"switch": "target:library",
"comment": "",
"value": "Library",
"flags": []
},
{
"name": "OutputType",
"switch": "target:module",
"comment": "",
"value": "Module",
"flags": []
},
{
"name": "DocumentationFile",
"switch": "doc",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired"
]
},
{
"name": "Platform",
"switch": "platform:x86",
"comment": "",
"value": "x86",
"flags": []
},
{
"name": "Platform",
"switch": "platform:Itanium",
"comment": "",
"value": "Itanium",
"flags": []
},
{
"name": "Platform",
"switch": "platform:x64",
"comment": "",
"value": "x64",
"flags": []
},
{
"name": "Platform",
"switch": "platform:arm",
"comment": "",
"value": "arm",
"flags": []
},
{
"name": "Platform",
"switch": "platform:anycpu32bitpreferred",
"comment": "",
"value": "anycpu32bitpreferred",
"flags": []
},
{
"name": "Platform",
"switch": "platform:anycpu",
"comment": "",
"value": "anycpu",
"flags": []
},
{
"name": "References",
"switch": "reference:",
"comment": "mit alias",
"value": "",
"flags": []
},
{
"name": "References",
"switch": "reference:",
"comment": "dateiliste",
"value": "",
"flags": []
},
{
"name": "AddModules",
"switch": "addmodule:",
"comment": "",
"value": "",
"flags": [
"SemicolonAppendable"
]
},
{
"name": "Win32Resource",
"switch": "win32res:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired"
]
},
{
"name": "ApplicationIcon",
"switch": "win32icon:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired"
]
},
{
"name": "ApplicationManifest",
"switch": "win32manifest:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired"
]
},
{
"name": "NoWin32Manifest",
"switch": "nowin32manifest",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "DefineDebug",
"switch": "debug",
"comment": "",
"value": "true",
"flags": [
"Continue"
]
},
{
"name": "DebugSymbols",
"switch": "debug",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "DebugSymbols",
"switch": "debug-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "DebugSymbols",
"switch": "debug+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "DebugType",
"switch": "debug:none",
"comment": "",
"value": "none",
"flags": []
},
{
"name": "DebugType",
"switch": "debug:full",
"comment": "",
"value": "full",
"flags": []
},
{
"name": "DebugType",
"switch": "debug:pdbonly",
"comment": "",
"value": "pdbonly",
"flags": []
},
{
"name": "DebugType",
"switch": "debug:portable",
"comment": "",
"value": "portable",
"flags": []
},
{
"name": "Optimize",
"switch": "optimize",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "Optimize",
"switch": "optimize-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "Optimize",
"switch": "optimize+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "TreatWarningsAsErrors",
"switch": "warnaserror",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "TreatWarningsAsErrors",
"switch": "warnaserror-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "TreatWarningsAsErrors",
"switch": "warnaserror+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "WarningsAsErrors",
"switch": "warnaserror",
"comment": "",
"value": "",
"flags": []
},
{
"name": "WarningsAsErrors",
"switch": "warnaserror-",
"comment": "",
"value": "",
"flags": []
},
{
"name": "WarningsAsErrors",
"switch": "warnaserror+",
"comment": "",
"value": "",
"flags": []
},
{
"name": "WarningsAsErrors",
"switch": "warnaserror:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired",
"CommaAppendable"
]
},
{
"name": "WarningLevel",
"switch": "warn:0",
"comment": "",
"value": "0",
"flags": []
},
{
"name": "WarningLevel",
"switch": "warn:1",
"comment": "",
"value": "1",
"flags": []
},
{
"name": "WarningLevel",
"switch": "warn:2",
"comment": "",
"value": "2",
"flags": []
},
{
"name": "WarningLevel",
"switch": "warn:3",
"comment": "",
"value": "3",
"flags": []
},
{
"name": "WarningLevel",
"switch": "warn:4",
"comment": "",
"value": "4",
"flags": []
},
{
"name": "NoWarn",
"switch": "nowarn:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired",
"CommaAppendable"
]
},
{
"name": "CheckForOverflowUnderflow",
"switch": "checked",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "CheckForOverflowUnderflow",
"switch": "checked-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "CheckForOverflowUnderflow",
"switch": "checked+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "AllowUnsafeBlocks",
"switch": "unsafe",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "AllowUnsafeBlocks",
"switch": "unsafe-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "AllowUnsafeBlocks",
"switch": "unsafe+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "DefineConstants",
"switch": "define:",
"comment": "",
"value": "",
"flags": [
"SemicolonAppendable",
"UserValue"
]
},
{
"name": "LangVersion",
"switch": "langversion:",
"comment": "",
"value": "",
"flags": [
"UserValue",
"UserRequired"
]
},
{
"name": "DelaySign",
"switch": "delaysign",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "DelaySign",
"switch": "delaysign-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "DelaySign",
"switch": "delaysign+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "AssemblyOriginatorKeyFile",
"switch": "keyfile",
"comment": "",
"value": "",
"flags": []
},
{
"name": "KeyContainerName",
"switch": "keycontainer",
"comment": "",
"value": "",
"flags": []
},
{
"name": "NoLogo",
"switch": "nologo",
"comment": "",
"value": "",
"flags": []
},
{
"name": "NoConfig",
"switch": "noconfig",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "BaseAddress",
"switch": "baseaddress:",
"comment": "",
"value": "",
"flags": []
},
{
"name": "CodePage",
"switch": "codepage",
"comment": "",
"value": "",
"flags": []
},
{
"name": "Utf8Output",
"switch": "utf8output",
"comment": "",
"value": "",
"flags": []
},
{
"name": "MainEntryPoint",
"switch": "main:",
"comment": "",
"value": "",
"flags": []
},
{
"name": "GenerateFullPaths",
"switch": "fullpaths",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "FileAlignment",
"switch": "filealign",
"comment": "",
"value": "",
"flags": []
},
{
"name": "PdbFile",
"switch": "pdb:",
"comment": "",
"value": "",
"flags": []
},
{
"name": "NoStandardLib",
"switch": "nostdlib",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "NoStandardLib",
"switch": "nostdlib-",
"comment": "",
"value": "false",
"flags": []
},
{
"name": "NoStandardLib",
"switch": "nostdlib+",
"comment": "",
"value": "true",
"flags": []
},
{
"name": "SubsystemVersion",
"switch": "subsystemversion",
"comment": "",
"value": "",
"flags": []
},
{
"name": "AdditionalLibPaths",
"switch": "lib:",
"comment": "",
"value": "",
"flags": []
},
{
"name": "ErrorReport",
"switch": "errorreport:none",
"comment": "Do Not Send Report",
"value": "none",
"flags": []
},
{
"name": "ErrorReport",
"switch": "errorreport:prompt",
"comment": "Prompt Immediately",
"value": "prompt",
"flags": []
},
{
"name": "ErrorReport",
"switch": "errorreport:queue",
"comment": "Queue For Next Login",
"value": "queue",
"flags": []
},
{
"name": "ErrorReport",
"switch": "errorreport:send",
"comment": "Send Automatically",
"value": "send",
"flags": []
}
]

File diff suppressed because it is too large Load Diff