summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-09-14 15:52:31 (GMT)
committerBrad King <brad.king@kitware.com>2020-09-18 16:49:17 (GMT)
commit2db623f554d5522350214a7c5bacd5ec2dec1b34 (patch)
tree27da28d96274f726e195d216199fd949005a0930 /Help
parent3ab18c870dc00499f33a40a193e95cc4e1df54ba (diff)
downloadCMake-2db623f554d5522350214a7c5bacd5ec2dec1b34.zip
CMake-2db623f554d5522350214a7c5bacd5ec2dec1b34.tar.gz
CMake-2db623f554d5522350214a7c5bacd5ec2dec1b34.tar.bz2
Xcode: Add option to specify build system variant
Extend the `-T <toolset>` option to support a `buildsystem=` field with the Xcode generator. Add a `CMAKE_XCODE_BUILD_SYSTEM` variable to inform project code about the selected build system variant.
Diffstat (limited to 'Help')
-rw-r--r--Help/generator/Xcode.rst23
-rw-r--r--Help/manual/cmake-variables.7.rst1
-rw-r--r--Help/variable/CMAKE_XCODE_BUILD_SYSTEM.rst17
3 files changed, 39 insertions, 2 deletions
diff --git a/Help/generator/Xcode.rst b/Help/generator/Xcode.rst
index d893ac5..c0745dc 100644
--- a/Help/generator/Xcode.rst
+++ b/Help/generator/Xcode.rst
@@ -5,9 +5,28 @@ Generate Xcode project files.
This supports Xcode 5.0 and above.
-Toolset Selection
-^^^^^^^^^^^^^^^^^
+.. _`Xcode Build System Selection`:
+
+Toolset and Build System Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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:
+
+* ``toolset``
+* ``toolset[,key=value]*``
+* ``key=value[,key=value]*``
+
+The ``toolset`` specifies the toolset name. The selected toolset name
+is provided in the :variable:`CMAKE_XCODE_PLATFORM_TOOLSET` variable.
+
+The ``key=value`` pairs form a comma-separated list of options to
+specify generator-specific details of the toolset selection.
+Supported pairs are:
+
+``buildsystem=<variant>``
+ Specify the buildsystem variant to use.
+ See the :variable:`CMAKE_XCODE_BUILD_SYSTEM` variable for allowed values.
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst
index b5bc7b1..17d0882 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -125,6 +125,7 @@ Variables that Provide Information
/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION
/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM
+ /variable/CMAKE_XCODE_BUILD_SYSTEM
/variable/CMAKE_XCODE_PLATFORM_TOOLSET
/variable/PROJECT-NAME_BINARY_DIR
/variable/PROJECT-NAME_DESCRIPTION
diff --git a/Help/variable/CMAKE_XCODE_BUILD_SYSTEM.rst b/Help/variable/CMAKE_XCODE_BUILD_SYSTEM.rst
new file mode 100644
index 0000000..8696bbf
--- /dev/null
+++ b/Help/variable/CMAKE_XCODE_BUILD_SYSTEM.rst
@@ -0,0 +1,17 @@
+CMAKE_XCODE_BUILD_SYSTEM
+------------------------
+
+Xcode build system selection.
+
+The :generator:`Xcode` generator defines this variable to indicate which
+variant of the Xcode build system will be used. The value is the
+version of Xcode in which the corresponding build system first became
+mature enough for use by CMake. The possible values are:
+
+``1``
+ The original Xcode build system.
+ This is the default.
+
+The ``CMAKE_XCODE_BUILD_SYSTEM`` variable is informational and should not
+be modified by project code. See the :ref:`Xcode Build System Selection`
+documentation section to select the Xcode build system.