summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-04-12 14:20:09 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-04-12 14:20:20 (GMT)
commit4adc0b7c758ed98776bec63d21bb2037b0f28e2d (patch)
tree9bd43553c8d780641c16f5f285f90f8bf9c5130c /Help
parentdb6fdfdb053a372382ff8eadad9bfa47c1a3b4bc (diff)
parenta40f9083dd17d1cccf89ccdf290c3f494cab3aac (diff)
downloadCMake-4adc0b7c758ed98776bec63d21bb2037b0f28e2d.zip
CMake-4adc0b7c758ed98776bec63d21bb2037b0f28e2d.tar.gz
CMake-4adc0b7c758ed98776bec63d21bb2037b0f28e2d.tar.bz2
Merge topic 'iface-headers'
a40f9083dd INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3181
Diffstat (limited to 'Help')
-rw-r--r--Help/command/add_library.rst17
-rw-r--r--Help/command/install.rst6
-rw-r--r--Help/release/dev/iface-headers.rst7
3 files changed, 21 insertions, 9 deletions
diff --git a/Help/command/add_library.rst b/Help/command/add_library.rst
index ec6cb9d..b42fe42 100644
--- a/Help/command/add_library.rst
+++ b/Help/command/add_library.rst
@@ -80,12 +80,17 @@ option extends visibility. It may be referenced like any target built
within the project. ``IMPORTED`` libraries are useful for convenient
reference from commands like :command:`target_link_libraries`. Details
about the imported library are specified by setting properties whose names
-begin in ``IMPORTED_`` and ``INTERFACE_``. The most important such
-property is :prop_tgt:`IMPORTED_LOCATION` (and its per-configuration
-variant :prop_tgt:`IMPORTED_LOCATION_<CONFIG>`) which specifies the
-location of the main library file on disk. Or, for object libraries,
-:prop_tgt:`IMPORTED_OBJECTS` (and :prop_tgt:`IMPORTED_OBJECTS_<CONFIG>`)
-specifies the locations of object files on disk.
+begin in ``IMPORTED_`` and ``INTERFACE_``.
+
+The most important properties are:
+
+* :prop_tgt:`IMPORTED_LOCATION` (and its per-configuration
+ variant :prop_tgt:`IMPORTED_LOCATION_<CONFIG>`) which specifies the
+ location of the main library file on disk.
+* :prop_tgt:`IMPORTED_OBJECTS` (and :prop_tgt:`IMPORTED_OBJECTS_<CONFIG>`)
+ for object libraries, specifies the locations of object files on disk.
+* :prop_tgt:`PUBLIC_HEADER` files to be installed during :command:`install` invocation
+
See documentation of the ``IMPORTED_*`` and ``INTERFACE_*`` properties
for more information.
diff --git a/Help/command/install.rst b/Help/command/install.rst
index a4cee71..7571aae 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -148,13 +148,13 @@ project. There are several kinds of target files that may be installed:
property are treated as ``FRAMEWORK`` targets on macOS.
``BUNDLE``
- Executables marked with the ``MACOSX_BUNDLE`` property are treated as
+ Executables marked with the :prop_tgt:`MACOSX_BUNDLE` property are treated as
``BUNDLE`` targets on macOS.
``PUBLIC_HEADER``
- Any ``PUBLIC_HEADER`` files associated with a library are installed in
+ Any :prop_tgt:`PUBLIC_HEADER` files associated with a library are installed in
the destination specified by the ``PUBLIC_HEADER`` argument on non-Apple
- platforms. Rules defined by this argument are ignored for ``FRAMEWORK``
+ platforms. Rules defined by this argument are ignored for :prop_tgt:`FRAMEWORK`
libraries on Apple platforms because the associated files are installed
into the appropriate locations inside the framework folder. See
:prop_tgt:`PUBLIC_HEADER` for details.
diff --git a/Help/release/dev/iface-headers.rst b/Help/release/dev/iface-headers.rst
new file mode 100644
index 0000000..2e1de5e
--- /dev/null
+++ b/Help/release/dev/iface-headers.rst
@@ -0,0 +1,7 @@
+iface-headers
+-------------
+
+* ``INTERFACE`` library can now have :prop_tgt:`PUBLIC_HEADER` and
+ :prop_tgt:`PRIVATE_HEADER` properties set. The headers specified by those
+ properties can be installed using the :command:`install(TARGETS)` command by
+ passing the ``PUBLIC_HEADER`` and ``PRIVATE_HEADER`` arguments respectively.