| CMP0131 |
| ------- |
| |
| .. versionadded:: 3.24 |
| |
| :prop_tgt:`LINK_LIBRARIES` supports the :genex:`$<LINK_ONLY:...>` |
| generator expression. |
| |
| CMake 3.23 and below documented the :genex:`$<LINK_ONLY:...>` generator |
| expression only for use in :prop_tgt:`INTERFACE_LINK_LIBRARIES`. |
| When used in :prop_tgt:`LINK_LIBRARIES`, the content guarded inside |
| :genex:`$<LINK_ONLY:...>` was always used, even when collecting non-linking |
| usage requirements such as :prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`. |
| |
| CMake 3.24 and above prefer to support :genex:`$<LINK_ONLY:...>`, when |
| used in :prop_tgt:`LINK_LIBRARIES`, by using the guarded content only |
| for link dependencies and not other usage requirements. This policy |
| provides compatibility for projects that have not been updated to |
| account for this change. |
| |
| The ``OLD`` behavior for this policy is to use :prop_tgt:`LINK_LIBRARIES` |
| content guarded by :genex:`$<LINK_ONLY:...>` even for non-linking |
| usage requirements. The ``NEW`` behavior for this policy is to to use |
| the guarded content only for link dependencies. |
| |
| This policy was introduced in CMake version 3.24. Use the |
| :command:`cmake_policy` command to set this policy 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 |