summaryrefslogtreecommitdiffstats
path: root/Help/variable
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-10-29 14:19:48 (GMT)
committerBrad King <brad.king@kitware.com>2021-10-29 15:52:57 (GMT)
commit152f9978dde5ff085db28835c797827870978e9c (patch)
treeadb82855ffd6f7afa9124a849c9f20fe999afa91 /Help/variable
parent41907da8eaf7a6c64fd4db17f90be69c1eeb7eb9 (diff)
downloadCMake-152f9978dde5ff085db28835c797827870978e9c.zip
CMake-152f9978dde5ff085db28835c797827870978e9c.tar.gz
CMake-152f9978dde5ff085db28835c797827870978e9c.tar.bz2
Help: De-duplicate VS instance selection documentation
Add a section to `CMAKE_GENERATOR_INSTANCE` for VS instance selection, and reference it from the corresponding sections of each VS generator.
Diffstat (limited to 'Help/variable')
-rw-r--r--Help/variable/CMAKE_GENERATOR_INSTANCE.rst21
1 files changed, 16 insertions, 5 deletions
diff --git a/Help/variable/CMAKE_GENERATOR_INSTANCE.rst b/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
index 5858d7a..5a76f09 100644
--- a/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
+++ b/Help/variable/CMAKE_GENERATOR_INSTANCE.rst
@@ -18,10 +18,21 @@ variable may initialize ``CMAKE_GENERATOR_INSTANCE`` as a cache entry.
Once a given build tree has been initialized with a particular value
for this variable, changing the value has undefined behavior.
-Instance specification is supported only on specific generators:
+Instance specification is supported only on specific generators.
-* For the :generator:`Visual Studio 15 2017` generator (and above)
- this specifies the absolute path to the VS installation directory
- of the selected VS instance.
+Visual Studio Instance Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-See native build system documentation for allowed instance values.
+:ref:`Visual Studio Generators` support instance specification for
+Visual Studio 2017 and above. The ``CMAKE_GENERATOR_INSTANCE`` variable
+may be set as a cache entry selecting an instance of Visual Studio
+via the absolute path to the top-level directory of the VS installation.
+
+If the value of ``CMAKE_GENERATOR_INSTANCE`` 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. If an environment variable of the form
+``VS##0COMNTOOLS``, where ``##`` the Visual Studio major version number,
+is set and points to the ``Common7/Tools`` directory within one of the
+VS instances, that instance will be used. Otherwise, if more than one
+VS instance is installed we do not define which one is chosen by default.