Files
CMake/Help/policy/CMP0065.rst
Brad King ad3c2c0b03 Help: Normalize and consolidate standard policy advice paragraph
Every policy's documentation has a paragraph on what version of CMake
introduced it, how to set the policy, and whether CMake warns if the
policy is not set.  The wording of this paragraph has diverged across
policies over time.  Factor the paragraph out into a standard advice
document included by every policy.
2024-01-11 14:48:01 -05:00

32 lines
1.1 KiB
ReStructuredText

CMP0065
-------
.. versionadded:: 3.4
Do not add flags to export symbols from executables without
the :prop_tgt:`ENABLE_EXPORTS` target property.
CMake 3.3 and below, for historical reasons, always linked executables
on some platforms with flags like ``-rdynamic`` to export symbols from
the executables for use by any plugins they may load via ``dlopen``.
CMake 3.4 and above prefer to do this only for executables that are
explicitly marked with the :prop_tgt:`ENABLE_EXPORTS` target property.
The ``OLD`` behavior of this policy is to always use the additional link
flags when linking executables regardless of the value of the
:prop_tgt:`ENABLE_EXPORTS` target property.
The ``NEW`` behavior of this policy is to only use the additional link
flags when linking executables if the :prop_tgt:`ENABLE_EXPORTS` target
property is set to ``True``.
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.4
.. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn by default
.. include:: STANDARD_ADVICE.txt
See documentation of the
:variable:`CMAKE_POLICY_WARNING_CMP0065 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
variable to control the warning.
.. include:: DEPRECATED.txt