diff options
author | Brad King <brad.king@kitware.com> | 2015-10-12 14:26:05 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2015-10-12 14:26:05 (GMT) |
commit | b6dcf6815b712f755c450c3837fd29c42910cc05 (patch) | |
tree | 25f9af2d39069e7fb3d4dce08fd3f0f50318f589 /Help/manual | |
parent | 1a0da7d32051783fcec12e85ee56c3adc447b1b1 (diff) | |
parent | 6556481eb8495a3c4f6870efc1b41b461f477bae (diff) | |
download | CMake-b6dcf6815b712f755c450c3837fd29c42910cc05.zip CMake-b6dcf6815b712f755c450c3837fd29c42910cc05.tar.gz CMake-b6dcf6815b712f755c450c3837fd29c42910cc05.tar.bz2 |
Merge topic 'doc-clarify-shared-lib'
6556481e Help: Document that SHARED libraries must export a symbol (#15775)
Diffstat (limited to 'Help/manual')
-rw-r--r-- | Help/manual/cmake-buildsystem.7.rst | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Help/manual/cmake-buildsystem.7.rst b/Help/manual/cmake-buildsystem.7.rst index 357aae9..bc633e6 100644 --- a/Help/manual/cmake-buildsystem.7.rst +++ b/Help/manual/cmake-buildsystem.7.rst @@ -80,6 +80,10 @@ regardless of the library type. The ``MODULE`` library type is dissimilar in that it is generally not linked to -- it is not used in the right-hand-side of the :command:`target_link_libraries` command. It is a type which is loaded as a plugin using runtime techniques. +If the library does not export any unmanaged symbols (e.g. Windows +resource DLL, C++/CLI DLL), it is required that the library not be a +``SHARED`` library because CMake expects ``SHARED`` libraries to export +at least one symbol. .. code-block:: cmake @@ -781,7 +785,8 @@ An *archive* output artifact of a buildsystem target may be: * On DLL platforms: the import library file (e.g. ``.lib``) of a shared library target created by the :command:`add_library` command - with the ``SHARED`` option. + with the ``SHARED`` option. This file is only guaranteed to exist if + the library exports at least one unmanaged symbol. * On DLL platforms: the import library file (e.g. ``.lib``) of an executable target created by the :command:`add_executable` command |