CMP0189ΒΆ
Added in version 4.1.
TARGET_PROPERTY evaluates LINK_LIBRARIES properties transitively.
The LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES
target properties record link dependencies through which the
TARGET_PROPERTY generator expression evaluates transitive properties.
However, in CMake 4.0 and below, the properties themselves were not evaluated
transitively. CMake 4.1 and above prefer to evaluate the
LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES
target properties transitively because they are among the
build specification and
usage requirement properties, respectively.
This policy provides compatibility for projects that have not been updated to
expect the new behavior. It takes effect during buildsystem generation.
Generator expressions are evaluated in each directory using the policy setting
as of the end of its CMakeLists.txt. As an exception, generator
expressions evaluated by the file(GENERATE) command use the
policy setting as of its call site.
The OLD behavior of this policy is for TARGET_PROPERTY to not
evaluate LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES
transitively. The NEW behavior is for TARGET_PROPERTY to
evaluate LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES
transitively.
This policy was introduced in CMake version 4.1.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.
Note
The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.