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 INTERFACE_COMPILE_DEFINITIONS
----------------------------- -----------------------------
List of public compile definitions for a library. .. |property_name| replace:: compile definitions
.. |command_name| replace:: :command:`target_compile_definitions`
Targets may populate this property to publish the compile definitions .. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_COMPILE_DEFINITIONS``
required to compile against the headers for the target. Consuming .. |PROPERTY_LINK| replace:: :prop_tgt:`COMPILE_DEFINITIONS`
targets can add entries to their own :prop_tgt:`COMPILE_DEFINITIONS` .. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_DEFINITIONS>``
property such as ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_DEFINITIONS>`` .. include:: INTERFACE_BUILD_PROPERTY.txt
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.

View File

@ -1,16 +1,12 @@
INTERFACE_COMPILE_FEATURES 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 See the :manual:`cmake-compile-features(7)` manual for information on compile
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
features. features.

View File

@ -1,15 +1,9 @@
INTERFACE_COMPILE_OPTIONS INTERFACE_COMPILE_OPTIONS
------------------------- -------------------------
List of interface options to pass to the compiler. .. |property_name| replace:: compile options
.. |command_name| replace:: :command:`target_compile_options`
Targets may populate this property to publish the compile options .. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_COMPILE_OPTIONS``
required to compile against the headers for the target. Consuming .. |PROPERTY_LINK| replace:: :prop_tgt:`COMPILE_OPTIONS`
targets can add entries to their own :prop_tgt:`COMPILE_OPTIONS` property .. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_OPTIONS>``
such as ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_OPTIONS>`` to use the .. include:: INTERFACE_BUILD_PROPERTY.txt
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.

View File

@ -1,22 +1,12 @@
INTERFACE_INCLUDE_DIRECTORIES INTERFACE_INCLUDE_DIRECTORIES
----------------------------- -----------------------------
List of public include directories for a library. .. |property_name| replace:: include directories
.. |command_name| replace:: :command:`target_include_directories`
The :command:`target_include_directories` command populates this property .. |PROPERTY_INTERFACE_NAME| replace:: ``INTERFACE_INCLUDE_DIRECTORIES``
with values given to the ``PUBLIC`` and ``INTERFACE`` keywords. Projects .. |PROPERTY_LINK| replace:: :prop_tgt:`INCLUDE_DIRECTORIES`
may also get and set the property directly. .. |PROPERTY_GENEX| replace:: ``$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>``
.. include:: INTERFACE_BUILD_PROPERTY.txt
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.
Include directories usage requirements commonly differ between the build-tree Include directories usage requirements commonly differ between the build-tree
and the install-tree. The ``BUILD_INTERFACE`` and ``INSTALL_INTERFACE`` and the install-tree. The ``BUILD_INTERFACE`` and ``INSTALL_INTERFACE``