Help: Unify the help text of INTERFACE_ build properties.

This commit is contained in:
Stephen Kelly 2014-11-22 12:30:32 +01:00
parent 2ed0088b2a
commit c8540e9466
5 changed files with 41 additions and 51 deletions

View File

@ -0,0 +1,16 @@
List of public |property_name| requirements for a library.
Targets may populate this property to publish the |property_name|
required to compile against the headers for the target. The |command_name|
command populates this property with values given to the ``PUBLIC`` and
``INTERFACE`` keywords. Projects may also get and set the property directly.
When target dependencies are specified using :command:`target_link_libraries`,
CMake will read this property from all target dependencies to determine the
build properties of the consumer.
Contents of |PROPERTY_INTERFACE_NAME| may use "generator expressions"
with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
-manual for more on defining buildsystem properties.

View File

@ -1,15 +1,9 @@
INTERFACE_COMPILE_DEFINITIONS
-----------------------------
List of public compile definitions for a library.
Targets may populate this property to publish the compile definitions
required to compile against the headers for the target. Consuming
targets can add entries to their own :prop_tgt:`COMPILE_DEFINITIONS`
property such as ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_DEFINITIONS>``
to use the compile definitions specified in the interface of ``foo``.
Contents of ``INTERFACE_COMPILE_DEFINITIONS`` may use "generator expressions"
with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
manual for more on defining buildsystem properties.
.. |property_name| replace:: compile definitions
.. |command_name| replace:: :command:`target_compile_definitions`
.. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_COMPILE_DEFINITIONS``
.. |PROPERTY_LINK| replace:: :prop_tgt:`COMPILE_DEFINITIONS`
.. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_DEFINITIONS>``
.. include:: INTERFACE_BUILD_PROPERTY.txt

View File

@ -1,16 +1,12 @@
INTERFACE_COMPILE_FEATURES
--------------------------
List of public compile requirements for a library.
.. |property_name| replace:: compile features
.. |command_name| replace:: :command:`target_compile_features`
.. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_COMPILE_FEATURES``
.. |PROPERTY_LINK| replace:: :prop_tgt:`COMPILE_FEATURES`
.. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_FEATURES>``
.. include:: INTERFACE_BUILD_PROPERTY.txt
Targets may populate this property to publish the compiler features
required to compile against the headers for the target. Consuming
targets can add entries to their own :prop_tgt:`COMPILE_FEATURES`
property such as ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_FEATURES>``
to require the features specified in the interface of ``foo``.
Contents of ``INTERFACE_COMPILE_FEATURES`` may use "generator expressions"
with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the
:manual:`cmake-compile-features(7)` manual for information on compile
See the :manual:`cmake-compile-features(7)` manual for information on compile
features.

View File

@ -1,15 +1,9 @@
INTERFACE_COMPILE_OPTIONS
-------------------------
List of interface options to pass to the compiler.
Targets may populate this property to publish the compile options
required to compile against the headers for the target. Consuming
targets can add entries to their own :prop_tgt:`COMPILE_OPTIONS` property
such as ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_OPTIONS>`` to use the
compile options specified in the interface of ``foo``.
Contents of ``INTERFACE_COMPILE_OPTIONS`` may use "generator expressions"
with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
manual for more on defining buildsystem properties.
.. |property_name| replace:: compile options
.. |command_name| replace:: :command:`target_compile_options`
.. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_COMPILE_OPTIONS``
.. |PROPERTY_LINK| replace:: :prop_tgt:`COMPILE_OPTIONS`
.. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_OPTIONS>``
.. include:: INTERFACE_BUILD_PROPERTY.txt

View File

@ -1,22 +1,12 @@
INTERFACE_INCLUDE_DIRECTORIES
-----------------------------
List of public include directories for a library.
The :command:`target_include_directories` command populates this property
with values given to the ``PUBLIC`` and ``INTERFACE`` keywords. Projects
may also get and set the property directly.
Targets may populate this property to publish the include directories
required to compile against the headers for the target. Consuming
targets can add entries to their own :prop_tgt:`INCLUDE_DIRECTORIES`
property such as ``$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>``
to use the include directories specified in the interface of ``foo``.
Contents of ``INTERFACE_INCLUDE_DIRECTORIES`` may use "generator expressions"
with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
manual for available expressions. See the :manual:`cmake-buildsystem(7)`
manual for more on defining buildsystem properties.
.. |property_name| replace:: include directories
.. |command_name| replace:: :command:`target_include_directories`
.. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_INCLUDE_DIRECTORIES``
.. |PROPERTY_LINK| replace:: :prop_tgt:`INCLUDE_DIRECTORIES`
.. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>``
.. include:: INTERFACE_BUILD_PROPERTY.txt
Include directories usage requirements commonly differ between the build-tree
and the install-tree. The ``BUILD_INTERFACE`` and ``INSTALL_INTERFACE``