summaryrefslogtreecommitdiffstats
path: root/Help/generator
diff options
context:
space:
mode:
authorNikita Nemkin <nikita@nemkin.ru>2020-11-10 21:48:05 (GMT)
committerNikita Nemkin <nikita@nemkin.ru>2020-11-12 04:45:10 (GMT)
commitc43e845d0904dce126a3de31d7a903eab39a989a (patch)
treeeede43917b3e23d6f341ee501c191afae5130fdf /Help/generator
parentf6fd769ae91accd6b54400b79ec797a3870cc87a (diff)
downloadCMake-c43e845d0904dce126a3de31d7a903eab39a989a.zip
CMake-c43e845d0904dce126a3de31d7a903eab39a989a.tar.gz
CMake-c43e845d0904dce126a3de31d7a903eab39a989a.tar.bz2
Help: Add `.. versionadded` directives to generator docs
More `.. versionadded` could be added later when the features, variables and properties relevant to each generator are properly documented. Issue: #19715
Diffstat (limited to 'Help/generator')
-rw-r--r--Help/generator/CodeBlocks.rst11
-rw-r--r--Help/generator/CodeLite.rst8
-rw-r--r--Help/generator/Green Hills MULTI.rst43
-rw-r--r--Help/generator/NMake Makefiles JOM.rst3
-rw-r--r--Help/generator/Ninja.rst45
-rw-r--r--Help/generator/VS_TOOLSET_HOST_ARCH.txt18
-rw-r--r--Help/generator/Visual Studio 10 2010.rst15
-rw-r--r--Help/generator/Visual Studio 11 2012.rst19
-rw-r--r--Help/generator/Visual Studio 12 2013.rst15
-rw-r--r--Help/generator/Visual Studio 14 2015.rst2
-rw-r--r--Help/generator/Visual Studio 15 2017.rst26
-rw-r--r--Help/generator/Visual Studio 9 2008.rst19
-rw-r--r--Help/generator/Xcode.rst15
13 files changed, 156 insertions, 83 deletions
diff --git a/Help/generator/CodeBlocks.rst b/Help/generator/CodeBlocks.rst
index d830542..85da715 100644
--- a/Help/generator/CodeBlocks.rst
+++ b/Help/generator/CodeBlocks.rst
@@ -7,13 +7,15 @@ Project files for CodeBlocks will be created in the top directory and
in every subdirectory which features a ``CMakeLists.txt`` file containing
a :command:`project` call. Additionally a hierarchy of makefiles is generated
into the build tree.
-The :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable may
-be set to ``ON`` to exclude any files which are located outside of
-the project root directory.
The appropriate make program can build the
project through the default ``all`` target. An ``install`` target is
also provided.
+.. versionadded:: 3.10
+ The :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable may
+ be set to ``ON`` to exclude any files which are located outside of
+ the project root directory.
+
This "extra" generator may be specified as:
``CodeBlocks - MinGW Makefiles``
@@ -23,7 +25,8 @@ This "extra" generator may be specified as:
Generate with :generator:`NMake Makefiles`.
``CodeBlocks - NMake Makefiles JOM``
- Generate with :generator:`NMake Makefiles JOM`.
+ .. versionadded:: 3.8
+ Generate with :generator:`NMake Makefiles JOM`.
``CodeBlocks - Ninja``
Generate with :generator:`Ninja`.
diff --git a/Help/generator/CodeLite.rst b/Help/generator/CodeLite.rst
index 46fa5be..4f276df 100644
--- a/Help/generator/CodeLite.rst
+++ b/Help/generator/CodeLite.rst
@@ -6,13 +6,15 @@ Generates CodeLite project files.
Project files for CodeLite will be created in the top directory and
in every subdirectory which features a CMakeLists.txt file containing
a :command:`project` call.
-The :variable:`CMAKE_CODELITE_USE_TARGETS` variable may be set to ``ON``
-to change the default behavior from projects to targets as the basis
-for project files.
The appropriate make program can build the
project through the default ``all`` target. An ``install`` target
is also provided.
+.. versionadded:: 3.7
+ The :variable:`CMAKE_CODELITE_USE_TARGETS` variable may be set to ``ON``
+ to change the default behavior from projects to targets as the basis
+ for project files.
+
This "extra" generator may be specified as:
``CodeLite - MinGW Makefiles``
diff --git a/Help/generator/Green Hills MULTI.rst b/Help/generator/Green Hills MULTI.rst
index 2246699..c25c5f5 100644
--- a/Help/generator/Green Hills MULTI.rst
+++ b/Help/generator/Green Hills MULTI.rst
@@ -3,22 +3,36 @@ Green Hills MULTI
.. versionadded:: 3.3
+.. versionadded:: 3.15
+ Linux support.
+
Generates Green Hills MULTI project files (experimental, work-in-progress).
-The buildsystem has predetermined build-configuration settings that can be controlled
-via the :variable:`CMAKE_BUILD_TYPE` variable.
+Customizations are available through the following cache variables:
+
+* ``GHS_CUSTOMIZATION``
+* ``GHS_GPJ_MACROS``
+
+.. versionadded:: 3.14
+ The buildsystem has predetermined build-configuration settings that can be controlled
+ via the :variable:`CMAKE_BUILD_TYPE` variable.
+
+Toolset and Platform Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 3.13
Customizations that are used to pick toolset and target system:
-The ``-A <arch>`` can be supplied for setting the target architecture.
-``<arch>`` usually is one of ``arm``, ``ppc``, ``86``, etcetera.
-If the target architecture is not specified then
-the default architecture of ``arm`` will be used.
+* The ``-A <arch>`` can be supplied for setting the target architecture.
+ ``<arch>`` usually is one of ``arm``, ``ppc``, ``86``, etcetera.
+ If the target architecture is not specified then
+ the default architecture of ``arm`` will be used.
-The ``-T <toolset>`` option can be used to set the directory location of the toolset.
-Both absolute and relative paths are valid. Relative paths use ``GHS_TOOLSET_ROOT``
-as the root. If the toolset is not specified then the latest toolset found in
-``GHS_TOOLSET_ROOT`` will be used.
+* The ``-T <toolset>`` option can be used to set the directory location of the toolset.
+ Both absolute and relative paths are valid. Relative paths use ``GHS_TOOLSET_ROOT``
+ as the root. If the toolset is not specified then the latest toolset found in
+ ``GHS_TOOLSET_ROOT`` will be used.
Cache variables that are used for toolset and target system customization:
@@ -50,15 +64,18 @@ Cache variables that are used for toolset and target system customization:
a specific RTOS is to be used.
| ``GHS_OS_DIR_OPTION`` default value is ``-os_dir``.
+ .. versionadded:: 3.15
+ ``GHS_OS_DIR_OPTION`` variable.
+
* ``GHS_BSP_NAME``
| Sets ``-bsp`` entry in project file.
| Defaults to ``sim<arch>`` for ``integrity`` platforms.
-Customizations are available through the following cache variables:
+Target Properties
+^^^^^^^^^^^^^^^^^
-* ``GHS_CUSTOMIZATION``
-* ``GHS_GPJ_MACROS``
+.. versionadded:: 3.14
The following properties are available:
diff --git a/Help/generator/NMake Makefiles JOM.rst b/Help/generator/NMake Makefiles JOM.rst
index 3a8744c..e0f4c90 100644
--- a/Help/generator/NMake Makefiles JOM.rst
+++ b/Help/generator/NMake Makefiles JOM.rst
@@ -2,3 +2,6 @@ NMake Makefiles JOM
-------------------
Generates JOM makefiles.
+
+.. versionadded:: 3.8
+ :generator:`CodeBlocks` generator can be used as an extra generator.
diff --git a/Help/generator/Ninja.rst b/Help/generator/Ninja.rst
index 08ee81b..f3ba222 100644
--- a/Help/generator/Ninja.rst
+++ b/Help/generator/Ninja.rst
@@ -11,32 +11,57 @@ For each subdirectory ``sub/dir`` of the project, additional targets
are generated:
``sub/dir/all``
- Depends on all targets required by the subdirectory.
+
+ .. versionadded:: 3.6
+
+ Depends on all targets required by the subdirectory.
``sub/dir/install``
- Runs the install step in the subdirectory, if any.
+
+ .. versionadded:: 3.7
+
+ Runs the install step in the subdirectory, if any.
``sub/dir/install/strip``
- Runs the install step in the subdirectory followed by a ``CMAKE_STRIP`` command,
- if any.
- The ``CMAKE_STRIP`` variable will contain the platform's ``strip`` utility, which
- removes symbols information from generated binaries.
+ .. versionadded:: 3.7
+ Runs the install step in the subdirectory followed by a ``CMAKE_STRIP`` command,
+ if any.
+
+ The ``CMAKE_STRIP`` variable will contain the platform's ``strip`` utility, which
+ removes symbols information from generated binaries.
``sub/dir/test``
- Runs the test step in the subdirectory, if any.
+
+ .. versionadded:: 3.7
+
+ Runs the test step in the subdirectory, if any.
``sub/dir/package``
- Runs the package step in the subdirectory, if any.
+
+ .. versionadded:: 3.7
+
+ Runs the package step in the subdirectory, if any.
Fortran Support
^^^^^^^^^^^^^^^
+.. versionadded:: 3.7
+
The ``Ninja`` generator conditionally supports Fortran when the ``ninja``
tool is at least version 1.10 (which has the required features).
+Swift Support
+^^^^^^^^^^^^^
+
+.. versionadded:: 3.15
+
+The Swift support is experimental, not considered stable, and may change
+in future releases of CMake.
+
See Also
^^^^^^^^
-The :generator:`Ninja Multi-Config` generator is similar to the ``Ninja``
-generator, but generates multiple configurations at once.
+.. versionadded:: 3.17
+ The :generator:`Ninja Multi-Config` generator is similar to the ``Ninja``
+ generator, but generates multiple configurations at once.
diff --git a/Help/generator/VS_TOOLSET_HOST_ARCH.txt b/Help/generator/VS_TOOLSET_HOST_ARCH.txt
index 0293631..e361719 100644
--- a/Help/generator/VS_TOOLSET_HOST_ARCH.txt
+++ b/Help/generator/VS_TOOLSET_HOST_ARCH.txt
@@ -1,7 +1,11 @@
-For each toolset that comes with this version of Visual Studio, there are
-variants that are themselves compiled for 32-bit (``x86``) and
-64-bit (``x64``) hosts (independent of the architecture they target).
-|VS_TOOLSET_HOST_ARCH_DEFAULT|
-One may explicitly request use of either the 32-bit or 64-bit host tools
-by adding either ``host=x86`` or ``host=x64`` to the toolset specification.
-See the :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
+.. versionadded:: 3.8
+ For each toolset that comes with this version of Visual Studio, there are
+ variants that are themselves compiled for 32-bit (``x86``) and
+ 64-bit (``x64``) hosts (independent of the architecture they target).
+ |VS_TOOLSET_HOST_ARCH_DEFAULT|
+ One may explicitly request use of either the 32-bit or 64-bit host tools
+ by adding either ``host=x86`` or ``host=x64`` to the toolset specification.
+ See the :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
+
+.. versionadded:: 3.14
+ Added suport for ``host=x86`` option.
diff --git a/Help/generator/Visual Studio 10 2010.rst b/Help/generator/Visual Studio 10 2010.rst
index 4bf9a8f..b4376d8 100644
--- a/Help/generator/Visual Studio 10 2010.rst
+++ b/Help/generator/Visual Studio 10 2010.rst
@@ -17,13 +17,14 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-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 10 2010" -A Win32``
-* ``cmake -G "Visual Studio 10 2010" -A x64``
-* ``cmake -G "Visual Studio 10 2010" -A Itanium``
+.. versionadded:: 3.1
+ 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 10 2010" -A Win32``
+ * ``cmake -G "Visual Studio 10 2010" -A x64``
+ * ``cmake -G "Visual Studio 10 2010" -A Itanium``
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Visual Studio 11 2012.rst b/Help/generator/Visual Studio 11 2012.rst
index 5d89a6e..932548b 100644
--- a/Help/generator/Visual Studio 11 2012.rst
+++ b/Help/generator/Visual Studio 11 2012.rst
@@ -17,15 +17,16 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-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 11 2012" -A Win32``
-* ``cmake -G "Visual Studio 11 2012" -A x64``
-* ``cmake -G "Visual Studio 11 2012" -A ARM``
-* ``cmake -G "Visual Studio 11 2012" -A <WinCE-SDK>``
- (Specify a target platform matching a Windows CE SDK name.)
+.. versionadded:: 3.1
+ 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 11 2012" -A Win32``
+ * ``cmake -G "Visual Studio 11 2012" -A x64``
+ * ``cmake -G "Visual Studio 11 2012" -A ARM``
+ * ``cmake -G "Visual Studio 11 2012" -A <WinCE-SDK>``
+ (Specify a target platform matching a Windows CE SDK name.)
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Visual Studio 12 2013.rst b/Help/generator/Visual Studio 12 2013.rst
index fb8e021..b5fa1bf 100644
--- a/Help/generator/Visual Studio 12 2013.rst
+++ b/Help/generator/Visual Studio 12 2013.rst
@@ -17,13 +17,14 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-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 12 2013" -A Win32``
-* ``cmake -G "Visual Studio 12 2013" -A x64``
-* ``cmake -G "Visual Studio 12 2013" -A ARM``
+.. versionadded:: 3.1
+ 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 12 2013" -A Win32``
+ * ``cmake -G "Visual Studio 12 2013" -A x64``
+ * ``cmake -G "Visual Studio 12 2013" -A ARM``
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Visual Studio 14 2015.rst b/Help/generator/Visual Studio 14 2015.rst
index 5b319bb..9c61641 100644
--- a/Help/generator/Visual Studio 14 2015.rst
+++ b/Help/generator/Visual Studio 14 2015.rst
@@ -51,6 +51,8 @@ via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
Windows 10 SDK Maximum Version for VS 2015
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.19
+
Microsoft stated in a "Windows 10 October 2018 Update" blog post that Windows
10 SDK versions (15063, 16299, 17134, 17763) are not supported by VS 2015 and
are only supported by VS 2017 and later. Therefore by default CMake
diff --git a/Help/generator/Visual Studio 15 2017.rst b/Help/generator/Visual Studio 15 2017.rst
index e7baaad..a002f2f 100644
--- a/Help/generator/Visual Studio 15 2017.rst
+++ b/Help/generator/Visual Studio 15 2017.rst
@@ -14,18 +14,20 @@ projects (JavaScript, Powershell, Python, etc.) are not supported.
Instance Selection
^^^^^^^^^^^^^^^^^^
-VS 2017 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 ``VS150COMNTOOLS`` 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.
+.. versionadded:: 3.9
+ VS 2017 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.
+
+.. versionadded:: 3.11
+ When CMake first chooses an instance, if the ``VS150COMNTOOLS`` 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
^^^^^^^^^^^^^^^^^^
diff --git a/Help/generator/Visual Studio 9 2008.rst b/Help/generator/Visual Studio 9 2008.rst
index a09d047..644f936 100644
--- a/Help/generator/Visual Studio 9 2008.rst
+++ b/Help/generator/Visual Studio 9 2008.rst
@@ -8,15 +8,16 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-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 9 2008" -A Win32``
-* ``cmake -G "Visual Studio 9 2008" -A x64``
-* ``cmake -G "Visual Studio 9 2008" -A Itanium``
-* ``cmake -G "Visual Studio 9 2008" -A <WinCE-SDK>``
- (Specify a target platform matching a Windows CE SDK name.)
+.. versionadded:: 3.1
+ 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 9 2008" -A Win32``
+ * ``cmake -G "Visual Studio 9 2008" -A x64``
+ * ``cmake -G "Visual Studio 9 2008" -A Itanium``
+ * ``cmake -G "Visual Studio 9 2008" -A <WinCE-SDK>``
+ (Specify a target platform matching a Windows CE SDK name.)
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Xcode.rst b/Help/generator/Xcode.rst
index be03a22..e4900a1 100644
--- a/Help/generator/Xcode.rst
+++ b/Help/generator/Xcode.rst
@@ -3,7 +3,8 @@ Xcode
Generate Xcode project files.
-This supports Xcode 5.0 and above.
+.. versionchanged:: 3.15
+ This generator supports Xcode 5.0 and above.
.. _`Xcode Build System Selection`:
@@ -14,7 +15,8 @@ By default Xcode is allowed to select its own default toolchain.
The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
-This generator supports toolset specification using one of these forms:
+.. versionadded:: 3.19
+ This generator supports toolset specification using one of these forms:
* ``toolset``
* ``toolset[,key=value]*``
@@ -33,3 +35,12 @@ Supported pairs are:
For example, to select the original build system under Xcode 12,
run :manual:`cmake(1)` with the option ``-T buildsystem=1``.
+
+Swift Support
+^^^^^^^^^^^^^
+
+.. versionadded:: 3.4
+
+When using the :generator:`Xcode` generator with Xcode 6.1 or higher,
+one may enable the ``Swift`` language with the :command:`enable_language`
+command or the :command:`project`.