CMP0189 ------- .. versionadded:: 4.1 :genex:`TARGET_PROPERTY` evaluates ``LINK_LIBRARIES`` properties transitively. The :prop_tgt:`LINK_LIBRARIES` and :prop_tgt:`INTERFACE_LINK_LIBRARIES` target properties record link dependencies through which the :genex:`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 :prop_tgt:`LINK_LIBRARIES` and :prop_tgt:`INTERFACE_LINK_LIBRARIES` target properties transitively because they are among the :ref:`build specification ` and :ref:`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 :command:`file(GENERATE)` command use the policy setting as of its call site. The ``OLD`` behavior of this policy is for :genex:`TARGET_PROPERTY` to not evaluate :prop_tgt:`LINK_LIBRARIES` and :prop_tgt:`INTERFACE_LINK_LIBRARIES` transitively. The ``NEW`` behavior is for :genex:`TARGET_PROPERTY` to evaluate :prop_tgt:`LINK_LIBRARIES` and :prop_tgt:`INTERFACE_LINK_LIBRARIES` transitively. .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 4.1 .. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn .. include:: include/STANDARD_ADVICE.rst .. include:: include/DEPRECATED.rst