mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Only generate a graph dependency between a custom command and a target when the custom command queries for the file path of an artifact of the target. This makes generator expressions such as `TARGET_FILE_DIR` behave the same way as `TARGET_PROPERTY` which never generated a graph dependency.
40 lines
1.4 KiB
ReStructuredText
40 lines
1.4 KiB
ReStructuredText
CMP0112
|
|
-------
|
|
|
|
.. versionadded:: 3.19
|
|
|
|
Target file component generator expressions do not add target dependencies.
|
|
|
|
The following target-based generator expressions that query for directory or
|
|
file name components no longer add a dependency on the evaluated target.
|
|
|
|
- ``TARGET_FILE_DIR``
|
|
- ``TARGET_LINKER_FILE_BASE_NAME``
|
|
- ``TARGET_LINKER_FILE_NAME``
|
|
- ``TARGET_LINKER_FILE_DIR``
|
|
- ``TARGET_SONAME_FILE_NAME``
|
|
- ``TARGET_SONAME_FILE_DIR``
|
|
- ``TARGET_PDB_FILE_NAME``
|
|
- ``TARGET_PDB_FILE_DIR``
|
|
- ``TARGET_BUNDLE_DIR``
|
|
- ``TARGET_BUNDLE_CONTENT_DIR``
|
|
|
|
|
|
In CMake 3.18 and lower a dependency on the evaluated target of the above
|
|
generator expressions would be always added. CMake 3.19 and above prefer
|
|
to not add this dependency. This policy provides compatibility for projects
|
|
that have not been updated to expect the new behavior.
|
|
|
|
The ``OLD`` behavior for this policy is to add a dependency on the evaluated
|
|
target for the the above generator expressions. The ``NEW`` behavior of
|
|
this policy is to not add a dependency on the evaluated target for the the
|
|
above generator expressions.
|
|
|
|
This policy was introduced in CMake version 3.19. Unlike many policies,
|
|
CMake version |release| does *not* warn by default when this policy
|
|
is not set and simply uses ``OLD`` behavior. See documentation of the
|
|
:variable:`CMAKE_POLICY_WARNING_CMP0112 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
|
|
variable to control the warning.
|
|
|
|
.. include:: DEPRECATED.txt
|