diff options
author | Brad King <brad.king@kitware.com> | 2021-06-24 20:12:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-06-25 16:45:44 (GMT) |
commit | c46b265839c408ba04edc6ae7c96bc257547f43c (patch) | |
tree | 30172385edacef220a835c568e73513ff4ccd4a5 /Help/generator/Visual Studio 17 2022.rst | |
parent | b610b7a35cd62ce180ef3f5be4fabd9336f3fe51 (diff) | |
download | CMake-c46b265839c408ba04edc6ae7c96bc257547f43c.zip CMake-c46b265839c408ba04edc6ae7c96bc257547f43c.tar.gz CMake-c46b265839c408ba04edc6ae7c96bc257547f43c.tar.bz2 |
VS: Add Visual Studio 17 2022 generator
Fixes: #22339
Diffstat (limited to 'Help/generator/Visual Studio 17 2022.rst')
-rw-r--r-- | Help/generator/Visual Studio 17 2022.rst | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Help/generator/Visual Studio 17 2022.rst b/Help/generator/Visual Studio 17 2022.rst new file mode 100644 index 0000000..c53f8b7 --- /dev/null +++ b/Help/generator/Visual Studio 17 2022.rst @@ -0,0 +1,61 @@ +Visual Studio 17 2022 +--------------------- + +.. versionadded:: 3.21 + +Generates Visual Studio 17 (VS 2022) project files. + +.. warning:: + + This is experimental and based on "Visual Studio 2022 Preview 1.1". + As of this version of CMake, VS 2022 has not been released. + +Project Types +^^^^^^^^^^^^^ + +Only Visual C++ and C# projects may be generated. Other types of +projects (JavaScript, Powershell, Python, etc.) are not supported. + +Instance Selection +^^^^^^^^^^^^^^^^^^ + +VS 2022 supports multiple installations on the same machine. +The :variable:`CMAKE_GENERATOR_INSTANCE` variable may be set as a +cache entry containing the absolute path to a Visual Studio instance. +If the value is not specified explicitly by the user or a toolchain file, +CMake queries the Visual Studio Installer to locate VS instances, chooses +one, and sets the variable as a cache entry to hold the value persistently. + +When CMake first chooses an instance, if the ``VS170COMNTOOLS`` environment +variable is set and points to the ``Common7/Tools`` directory within +one of the instances, that instance will be used. Otherwise, if more +than one instance is installed we do not define which one is chosen +by default. + +Platform Selection +^^^^^^^^^^^^^^^^^^ + +The default target platform name (architecture) is that of the host +and is provided in the :variable:`CMAKE_VS_PLATFORM_NAME_DEFAULT` variable. + +The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps +via the :manual:`cmake(1)` ``-A`` option, to specify a target platform +name (architecture). For example: + +* ``cmake -G "Visual Studio 17 2022" -A Win32`` +* ``cmake -G "Visual Studio 17 2022" -A x64`` +* ``cmake -G "Visual Studio 17 2022" -A ARM`` +* ``cmake -G "Visual Studio 17 2022" -A ARM64`` + +Toolset Selection +^^^^^^^^^^^^^^^^^ + +The ``v142`` toolset that comes with VS 17 2022 Preview 1.1 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. + +.. |VS_TOOLSET_HOST_ARCH_DEFAULT| replace:: + By default this generator uses the 64-bit variant on x64 hosts and + the 32-bit variant otherwise. + +.. include:: VS_TOOLSET_HOST_ARCH.txt |