https://github.com/Kitware/CMake
Raw File
Tip revision: 788c2047883d64f16122c155f1c86a43dcd35970 authored by Brad King on 14 March 2024, 17:33:17 UTC
CMake 3.29.0-rc4
Tip revision: 788c204
CMP0065.rst
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
back to top