summaryrefslogtreecommitdiffstats
path: root/Help/policy/CMP0112.rst
blob: 313a51e82d1cb02a3ccd380d9ac618b189112815 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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_NAME``
    - ``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 always be 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 above generator expressions.  The ``NEW`` behavior of
this policy is to not add a dependency on the evaluated target for 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