mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-23 07:28:51 -06:00
CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
This new policy restricts the addition of the shared library link flags to executables only when the ENABLE_EXPORTS property is set to True.
This commit is contained in:
22
Help/variable/CMAKE_ENABLE_EXPORTS.rst
Normal file
22
Help/variable/CMAKE_ENABLE_EXPORTS.rst
Normal file
@@ -0,0 +1,22 @@
|
||||
CMAKE_ENABLE_EXPORTS
|
||||
--------------------
|
||||
|
||||
Specify whether an executable exports symbols for loadable modules.
|
||||
|
||||
Normally an executable does not export any symbols because it is the
|
||||
final program. It is possible for an executable to export symbols to
|
||||
be used by loadable modules. When this property is set to true CMake
|
||||
will allow other targets to "link" to the executable with the
|
||||
:command:`TARGET_LINK_LIBRARIES` command. On all platforms a target-level
|
||||
dependency on the executable is created for targets that link to it.
|
||||
For DLL platforms an import library will be created for the exported
|
||||
symbols and then used for linking. All Windows-based systems
|
||||
including Cygwin are DLL platforms. For non-DLL platforms that
|
||||
require all symbols to be resolved at link time, such as Mac OS X, the
|
||||
module will "link" to the executable using a flag like
|
||||
"-bundle_loader". For other non-DLL platforms the link rule is simply
|
||||
ignored since the dynamic loader will automatically bind symbols when
|
||||
the module is loaded.
|
||||
|
||||
This variable is used to initialize the target property
|
||||
:prop_tgt:`ENABLE_EXPORTS` for executable targets.
|
||||
@@ -13,6 +13,8 @@ warn by default:
|
||||
policy :policy:`CMP0056`.
|
||||
* ``CMAKE_POLICY_WARNING_CMP0060`` controls the warning for
|
||||
policy :policy:`CMP0060`.
|
||||
* ``CMAKE_POLICY_WARNING_CMP0065`` controls the warning for
|
||||
policy :policy:`CMP0065`.
|
||||
|
||||
This variable should not be set by a project in CMake code. Project
|
||||
developers running CMake may set this variable in their cache to
|
||||
|
||||
Reference in New Issue
Block a user