summaryrefslogtreecommitdiffstats
path: root/Help/generator/Visual Studio 17 2022.rst
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-06-24 20:12:31 (GMT)
committerBrad King <brad.king@kitware.com>2021-06-25 16:45:44 (GMT)
commitc46b265839c408ba04edc6ae7c96bc257547f43c (patch)
tree30172385edacef220a835c568e73513ff4ccd4a5 /Help/generator/Visual Studio 17 2022.rst
parentb610b7a35cd62ce180ef3f5be4fabd9336f3fe51 (diff)
downloadCMake-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.rst61
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