summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-07-31 16:04:17 (GMT)
committerBrad King <brad.king@kitware.com>2020-07-31 16:04:17 (GMT)
commitee5b58f491829347049c242a9a4a0f2d696feb4c (patch)
treeb830875a1a11f7759a2d3f8f7c190c8732682d83
parent99b1e85f07c67a4737c06be52b501b3a10f476b8 (diff)
downloadCMake-ee5b58f491829347049c242a9a4a0f2d696feb4c.zip
CMake-ee5b58f491829347049c242a9a4a0f2d696feb4c.tar.gz
CMake-ee5b58f491829347049c242a9a4a0f2d696feb4c.tar.bz2
Help: State in add_library that INTERFACE libraries have no build targets
-rw-r--r--Help/command/add_library.rst14
1 files changed, 9 insertions, 5 deletions
diff --git a/Help/command/add_library.rst b/Help/command/add_library.rst
index 2615db9..ed8447e 100644
--- a/Help/command/add_library.rst
+++ b/Help/command/add_library.rst
@@ -100,11 +100,12 @@ Interface Libraries
add_library(<name> INTERFACE)
-Creates an :ref:`Interface Library <Interface Libraries>`. An ``INTERFACE``
-library target does not directly create build output, though it may
-have properties set on it and it may be installed, exported and
-imported. Typically the ``INTERFACE_*`` properties are populated on
-the interface target using the commands:
+Creates an :ref:`Interface Library <Interface Libraries>`.
+An ``INTERFACE`` library target does not compile sources and does
+not produce a library artifact on disk. However, it may have
+properties set on it and it may be installed and exported.
+Typically, ``INTERFACE_*`` properties are populated on an interface
+target using the commands:
* :command:`set_property`,
* :command:`target_link_libraries(INTERFACE)`,
@@ -117,6 +118,9 @@ the interface target using the commands:
and then it is used as an argument to :command:`target_link_libraries`
like any other target.
+An interface library has no source files itself and is not included
+as a target in the generated buildsystem.
+
Imported Libraries
^^^^^^^^^^^^^^^^^^