1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 10:47:59 +08:00

Help/OPTIMIZE_DEPENDENCIES: xref with CMP0154 documentation

Closes: #27250
This commit is contained in:
Ben Boeckel
2025-09-30 22:59:04 -04:00
parent 03f5ffa2ca
commit fac5e622b7
2 changed files with 5 additions and 2 deletions

View File

@@ -20,7 +20,8 @@ their own target by default. Generated public headers must be specified
as members of a ``PUBLIC`` (or ``INTERFACE``) ``FILE_SET``, typically of
type ``HEADERS``. With this information, :ref:`Ninja Generators` may omit
the above-mentioned conservative dependencies and produce more efficient
build graphs.
build graphs. Dependents to such targets may also prune dependencies to such
targets when using the :prop_tgt:`OPTIMIZE_DEPENDENCIES` target property.
Additionally, if the custom command's output is a member of a file set of type
``CXX_MODULES``, it will additionally not be required to exist before

View File

@@ -21,7 +21,9 @@ any of the following criteria:
* The dependency has any ``PRE_BUILD``, ``PRE_LINK``, or ``POST_BUILD`` custom
commands associated with it.
* The dependency contains any source files that were generated by a custom
command.
command. However, if :policy:`CMP0154` is `NEW` for the dependency and it
uses :ref:`File Sets`, only source files that are not in a ``PUBLIC``,
``INTERFACE``, or of type ``CXX_MODULES`` are considered.
* The dependency contains any languages which produce side effects that are
relevant to the library. Currently, all languages except C, C++, Objective-C,
Objective-C++, assembly, and CUDA are assumed to produce side effects.