mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-06 14:19:59 -05:00
Merge topic 'link-options-propagation'
bbba701899 Link properties: must be transitive over private dependency on static library
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4120
This commit is contained in:
@@ -57,6 +57,7 @@ Policies Introduced by CMake 3.17
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
CMP0099: Link properties are transitive over private dependency on static libraries. </policy/CMP0099>
|
||||
CMP0098: FindFLEX runs flex in CMAKE_CURRENT_BINARY_DIR when executing. </policy/CMP0098>
|
||||
|
||||
Policies Introduced by CMake 3.16
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
CMP0099
|
||||
-------
|
||||
|
||||
Target link properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
|
||||
:prop_tgt:`INTERFACE_LINK_DIRECTORIES` and :prop_tgt:`INTERFACE_LINK_DEPENDS`
|
||||
are now transitive over private dependencies of static libraries.
|
||||
|
||||
In CMake 3.16 and below the interface link properties attached to libraries
|
||||
are not propagated for private dependencies of static libraries.
|
||||
Only the libraries themselves are propagated to link the dependent binary.
|
||||
CMake 3.17 and later prefer to propagate all interface link properties.
|
||||
This policy provides compatibility for projects that have not been updated
|
||||
to expect the new behavior.
|
||||
|
||||
The ``OLD`` behavior for this policy is to not propagate interface link
|
||||
properties. The ``NEW`` behavior of this policy is to propagate interface link
|
||||
properties.
|
||||
|
||||
This policy was introduced in CMake version 3.17. Use the
|
||||
:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
|
||||
Unlike many policies, CMake version |release| does *not* warn
|
||||
when this policy is not set and simply uses ``OLD`` behavior.
|
||||
|
||||
.. include:: DEPRECATED.txt
|
||||
@@ -0,0 +1,8 @@
|
||||
Link-properties-transitive
|
||||
--------------------------
|
||||
|
||||
* Target link properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
|
||||
:prop_tgt:`INTERFACE_LINK_DIRECTORIES` and
|
||||
:prop_tgt:`INTERFACE_LINK_DEPENDS` are now transitive over private
|
||||
dependency on static libraries.
|
||||
See policy :policy:`CMP0099`.
|
||||
Reference in New Issue
Block a user