CMP0112ΒΆ
New in version 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_DIR_NAME
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 policy setting is recorded on each target when it is created, and decides whether generator expressions referencing that target imply a dependency on it.
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 3.27.9 does not warn by default when this policy
is not set and simply uses OLD
behavior. See documentation of the
CMAKE_POLICY_WARNING_CMP0112
variable to control the warning.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.