1CMP0112
2-------
3
4.. versionadded:: 3.19
5
6Target file component generator expressions do not add target dependencies.
7
8The following target-based generator expressions that query for directory or
9file name components no longer add a dependency on the evaluated target.
10
11    - ``TARGET_FILE_NAME``
12    - ``TARGET_FILE_DIR``
13    - ``TARGET_LINKER_FILE_BASE_NAME``
14    - ``TARGET_LINKER_FILE_NAME``
15    - ``TARGET_LINKER_FILE_DIR``
16    - ``TARGET_SONAME_FILE_NAME``
17    - ``TARGET_SONAME_FILE_DIR``
18    - ``TARGET_PDB_FILE_NAME``
19    - ``TARGET_PDB_FILE_DIR``
20    - ``TARGET_BUNDLE_DIR``
21    - ``TARGET_BUNDLE_CONTENT_DIR``
22
23
24In CMake 3.18 and lower a dependency on the evaluated target of the above
25generator expressions would always be added.  CMake 3.19 and above prefer
26to not add this dependency.  This policy provides compatibility for projects
27that have not been updated to expect the new behavior.
28
29The ``OLD`` behavior for this policy is to add a dependency on the evaluated
30target for the above generator expressions.  The ``NEW`` behavior of
31this policy is to not add a dependency on the evaluated target for the
32above generator expressions.
33
34This policy was introduced in CMake version 3.19.  Unlike many policies,
35CMake version |release| does *not* warn by default when this policy
36is not set and simply uses ``OLD`` behavior.  See documentation of the
37:variable:`CMAKE_POLICY_WARNING_CMP0112 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
38variable to control the warning.
39
40.. include:: DEPRECATED.txt
41