summaryrefslogtreecommitdiffstats
path: root/Help/command
diff options
context:
space:
mode:
authorMartin Duffy <martin.duffy@kitware.com>2023-09-14 17:13:38 (GMT)
committerBrad King <brad.king@kitware.com>2023-09-20 14:25:24 (GMT)
commitec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a (patch)
treeeee817eede0b5dec75baf45735268ffc7e5e4997 /Help/command
parent123cdf981661c8ae32335d4ae7e1ddcbcffd09cc (diff)
downloadCMake-ec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a.zip
CMake-ec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a.tar.gz
CMake-ec2ba29ac5e424cf0c52ba8ea5c2e3a4c2667d7a.tar.bz2
Ninja: Allow compilation before generation of dependencies' private sources
This requires knowing when a generated header is public, which we can model using file sets. Add policy CMP0154 to treat generated sources as private by default in targets with file sets. Generated public headers can be specified in public file sets. Fixes: #24959 Issue: #15555
Diffstat (limited to 'Help/command')
-rw-r--r--Help/command/add_custom_command.rst10
-rw-r--r--Help/command/add_custom_target.rst5
-rw-r--r--Help/command/target_sources.rst2
3 files changed, 17 insertions, 0 deletions
diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst
index 1fcf06c..5fe4326 100644
--- a/Help/command/add_custom_command.rst
+++ b/Help/command/add_custom_command.rst
@@ -87,6 +87,11 @@ The options are:
:ref:`Target-dependent expressions <Target-Dependent Queries>` are not
permitted.
+ .. versionchanged:: 3.28
+ In targets using :ref:`file sets`, custom command byproducts are now
+ considered private unless they are listed in a non-private file set.
+ See policy :policy:`CMP0154`.
+
``COMMAND``
Specify the command-line(s) to execute at build time.
If more than one ``COMMAND`` is specified they will be executed in order,
@@ -270,6 +275,11 @@ The options are:
:ref:`Target-dependent expressions <Target-Dependent Queries>` are not
permitted.
+ .. versionchanged:: 3.28
+ In targets using :ref:`file sets`, custom command outputs are now
+ considered private unless they are listed in a non-private file set.
+ See policy :policy:`CMP0154`.
+
``USES_TERMINAL``
.. versionadded:: 3.2
diff --git a/Help/command/add_custom_target.rst b/Help/command/add_custom_target.rst
index ef0c8d9..0385a93 100644
--- a/Help/command/add_custom_target.rst
+++ b/Help/command/add_custom_target.rst
@@ -63,6 +63,11 @@ The options are:
:ref:`Target-dependent expressions <Target-Dependent Queries>` are not
permitted.
+ .. versionchanged:: 3.28
+ In custom targets using :ref:`file sets`, byproducts are now
+ considered private unless they are listed in a non-private file set.
+ See policy :policy:`CMP0154`.
+
``COMMAND``
Specify the command-line(s) to execute at build time.
If more than one ``COMMAND`` is specified they will be executed in order,
diff --git a/Help/command/target_sources.rst b/Help/command/target_sources.rst
index 4a8eda2..86bf7fb 100644
--- a/Help/command/target_sources.rst
+++ b/Help/command/target_sources.rst
@@ -60,6 +60,8 @@ expressions to ensure the sources are correctly assigned to the target.
See the :manual:`cmake-buildsystem(7)` manual for more on defining
buildsystem properties.
+.. _`File Sets`:
+
File Sets
^^^^^^^^^