summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2019-12-06 16:01:48 (GMT)
committerBrad King <brad.king@kitware.com>2019-12-09 16:29:36 (GMT)
commitbbba70189913e7add151e1f0eb7a2e7936626a7d (patch)
tree81b7a5b5f3844b3a1379558814c268a7b323915f /Help/policy
parenta2c0c2d024506725c431111ce1b2b41b307826ad (diff)
downloadCMake-bbba70189913e7add151e1f0eb7a2e7936626a7d.zip
CMake-bbba70189913e7add151e1f0eb7a2e7936626a7d.tar.gz
CMake-bbba70189913e7add151e1f0eb7a2e7936626a7d.tar.bz2
Link properties: must be transitive over private dependency on static library
Fixes: #20022
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0099.rst24
1 files changed, 24 insertions, 0 deletions
diff --git a/Help/policy/CMP0099.rst b/Help/policy/CMP0099.rst
new file mode 100644
index 0000000..c897e7b
--- /dev/null
+++ b/Help/policy/CMP0099.rst
@@ -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