summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-02-05 14:51:08 +0100
committerBrad King <brad.king@kitware.com>2014-02-06 16:15:53 -0500
commit3879c847825d40a439b0ec55421309ab9b33c1ee (patch)
tree42f3d3b7a615b5aed7e253c7468bfd8c8369fabf
parentba4c2fa8fd2a03f7d69e60d581d44a3cc79a3c9a (diff)
downloadcmake-3879c847825d40a439b0ec55421309ab9b33c1ee.tar.gz
Help: Document relation of properties to the rest of the buildsystem.
-rw-r--r--Help/prop_dir/COMPILE_DEFINITIONS.rst24
-rw-r--r--Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst11
-rw-r--r--Help/prop_dir/COMPILE_OPTIONS.rst16
-rw-r--r--Help/prop_dir/INCLUDE_DIRECTORIES.rst28
-rw-r--r--Help/prop_tgt/ALIASED_TARGET.rst4
-rw-r--r--Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst29
-rw-r--r--Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst25
-rw-r--r--Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst25
-rw-r--r--Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst20
-rw-r--r--Help/prop_tgt/COMPILE_DEFINITIONS.rst19
-rw-r--r--Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst10
-rw-r--r--Help/prop_tgt/COMPILE_OPTIONS.rst14
-rw-r--r--Help/prop_tgt/INCLUDE_DIRECTORIES.rst25
-rw-r--r--Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst12
-rw-r--r--Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst12
-rw-r--r--Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst12
-rw-r--r--Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst11
-rw-r--r--Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst19
-rw-r--r--Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst5
-rw-r--r--Help/prop_tgt/LINK_LIBRARIES.rst16
-rw-r--r--Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst10
21 files changed, 203 insertions, 144 deletions
diff --git a/Help/prop_dir/COMPILE_DEFINITIONS.rst b/Help/prop_dir/COMPILE_DEFINITIONS.rst
index 290d61208c..ab7e7f0581 100644
--- a/Help/prop_dir/COMPILE_DEFINITIONS.rst
+++ b/Help/prop_dir/COMPILE_DEFINITIONS.rst
@@ -3,18 +3,30 @@ COMPILE_DEFINITIONS
Preprocessor definitions for compiling a directory's sources.
-The COMPILE_DEFINITIONS property may be set to a semicolon-separated
-list of preprocessor definitions using the syntax VAR or VAR=value.
+This property specifies the list of options given so far to the
+:command:`add_definitions` command.
+
+The ``COMPILE_DEFINITIONS`` property may be set to a semicolon-separated
+list of preprocessor definitions using the syntax ``VAR`` or ``VAR=value``.
Function-style definitions are not supported. CMake will
automatically escape the value correctly for the native build system
(note that CMake language syntax may require escapes to specify some
-values). This property may be set on a per-configuration basis using
-the name COMPILE_DEFINITIONS_<CONFIG> where <CONFIG> is an upper-case
-name (ex. "COMPILE_DEFINITIONS_DEBUG"). This property will be
-initialized in each directory by its value in the directory's parent.
+values).
+
+This property will be initialized in each directory by its value in the
+directory's parent.
CMake will automatically drop some definitions that are not supported
by the native build tool. The VS6 IDE does not support definition
values with spaces (but NMake does).
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
+
+Contents of ``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.
+
+The corresponding :prop_dir:`COMPILE_DEFINITIONS_<CONFIG>` property may
+be set to specify per-configuration definitions. Generator expressions
+should be preferred instead of setting the alternative property.
diff --git a/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst b/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
index 0876ddf7c8..c22606b90f 100644
--- a/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
+++ b/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
@@ -3,6 +3,15 @@ COMPILE_DEFINITIONS_<CONFIG>
Per-configuration preprocessor definitions in a directory.
-This is the configuration-specific version of COMPILE_DEFINITIONS.
+This is the configuration-specific version of :prop_dir:`COMPILE_DEFINITIONS`
+where ``<CONFIG>`` is an upper-case name (ex. ``COMPILE_DEFINITIONS_DEBUG``).
+
This property will be initialized in each directory by its value in
the directory's parent.
+
+Contents of ``COMPILE_DEFINITIONS_<CONFIG>`` 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.
+
+Generator expressions should be preferred instead of setting this property.
diff --git a/Help/prop_dir/COMPILE_OPTIONS.rst b/Help/prop_dir/COMPILE_OPTIONS.rst
index f0c3a42387..59530597dc 100644
--- a/Help/prop_dir/COMPILE_OPTIONS.rst
+++ b/Help/prop_dir/COMPILE_OPTIONS.rst
@@ -3,12 +3,14 @@ COMPILE_OPTIONS
List of options to pass to the compiler.
-This property specifies the list of directories given so far for this
-property. This property exists on directories and targets.
+This property specifies the list of options given so far to the
+:command:`add_compile_options` command.
-The target property values are used by the generators to set the
-options for the compiler.
+This property is used to populate the :prop_tgt:`COMPILE_OPTIONS` target
+property, which is used by the generators to set the options for the
+compiler.
-Contents of COMPILE_OPTIONS may use "generator expressions" with the syntax
-``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual for
-available expressions.
+Contents of ``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.
diff --git a/Help/prop_dir/INCLUDE_DIRECTORIES.rst b/Help/prop_dir/INCLUDE_DIRECTORIES.rst
index 6c5782f538..baba49bf35 100644
--- a/Help/prop_dir/INCLUDE_DIRECTORIES.rst
+++ b/Help/prop_dir/INCLUDE_DIRECTORIES.rst
@@ -4,15 +4,23 @@ INCLUDE_DIRECTORIES
List of preprocessor include file search directories.
This property specifies the list of directories given so far to the
-include_directories command. This property exists on directories and
-targets. In addition to accepting values from the include_directories
-command, values may be set directly on any directory or any target
-using the set_property command. A target gets its initial value for
-this property from the value of the directory property. A directory
-gets its initial value from its parent directory if it has one. Both
-directory and target property values are adjusted by calls to the
-include_directories command.
+:command:`include_directories` command.
+
+This property is used to populate the :prop_tgt:`INCLUDE_DIRECTORIES`
+target property, which is used by the generators to set the include
+directories for the compiler.
+
+In addition to accepting values from that command, values may be set
+directly on any directory using the :command:`set_property` command. A
+directory gets its initial value from its parent directory if it has one.
+The intial value of the :prop_tgt:`INCLUDE_DIRECTORIES` target property
+comes from the value of this property. Both directory and target property
+values are adjusted by calls to the :command:`include_directories` command.
The target property values are used by the generators to set the
-include paths for the compiler. See also the include_directories
-command.
+include paths for the compiler.
+
+Contents of ``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.
diff --git a/Help/prop_tgt/ALIASED_TARGET.rst b/Help/prop_tgt/ALIASED_TARGET.rst
index 0af436550d..f9e60348db 100644
--- a/Help/prop_tgt/ALIASED_TARGET.rst
+++ b/Help/prop_tgt/ALIASED_TARGET.rst
@@ -3,5 +3,5 @@ ALIASED_TARGET
Name of target aliased by this target.
-If this is an ALIAS target, this property contains the name of the
-target aliased.
+If this is an :ref:`Alias Target <Alias Targets>`, this property contains
+the name of the target aliased.
diff --git a/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst b/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
index 6cf9d0a6c5..6910367e4e 100644
--- a/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
+++ b/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
@@ -3,17 +3,18 @@ COMPATIBLE_INTERFACE_BOOL
Properties which must be compatible with their link interface
-The COMPATIBLE_INTERFACE_BOOL property may contain a list of
-propertiesfor this target which must be consistent when evaluated as a
-boolean in the INTERFACE of all linked dependees. For example, if a
-property "FOO" appears in the list, then for each dependee, the
-"INTERFACE_FOO" property content in all of its dependencies must be
-consistent with each other, and with the "FOO" property in the
-depender. Consistency in this sense has the meaning that if the
-property is set, then it must have the same boolean value as all
-others, and if the property is not set, then it is ignored. Note that
-for each dependee, the set of properties from this property must not
-intersect with the set of properties from the
-:prop_tgt:`COMPATIBLE_INTERFACE_STRING`,
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN` or
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` property.
+The ``COMPATIBLE_INTERFACE_BOOL`` property may contain a list of
+properties for this target which must be consistent when evaluated as a
+boolean with the ``INTERFACE`` variant of the property in all linked
+dependees. For example, if a property ``FOO`` appears in the list, then
+for each dependee, the ``INTERFACE_FOO`` property content in all of its
+dependencies must be consistent with each other, and with the ``FOO``
+property in the depender.
+
+Consistency in this sense has the meaning that if the property is set,
+then it must have the same boolean value as all others, and if the
+property is not set, then it is ignored.
+
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+:ref:`Compatible Interface Properties`.
diff --git a/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst b/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
index 2fe748eac0..298acf1ba3 100644
--- a/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
+++ b/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
@@ -3,15 +3,16 @@ COMPATIBLE_INTERFACE_NUMBER_MAX
Properties whose maximum value from the link interface will be used.
-The COMPATIBLE_INTERFACE_NUMBER_MAX property may contain a list of
-properties for this target whose maximum value may be read at generate time
-when evaluated in the INTERFACE of all linked dependees. For example, if a
-property "FOO" appears in the list, then for each dependee, the
-"INTERFACE_FOO" property content in all of its dependencies will be compared
-with each other and with the "FOO" property in the depender. When reading
-the FOO property at generate time, the maximum value will be returned.
-If the property is not set, then it is ignored. Note that for each
-dependee, the set of properties from this property must not intersect
-with the set of properties from the :prop_tgt:`COMPATIBLE_INTERFACE_BOOL`,
-:prop_tgt:`COMPATIBLE_INTERFACE_STRING` or
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN` property.
+The ``COMPATIBLE_INTERFACE_NUMBER_MAX`` property may contain a list of
+properties for this target whose maximum value may be read at generate
+time when evaluated in the ``INTERFACE`` variant of the property in all
+linked dependees. For example, if a property ``FOO`` appears in the list,
+then for each dependee, the ``INTERFACE_FOO`` property content in all of
+its dependencies will be compared with each other and with the ``FOO``
+property in the depender. When reading the ``FOO`` property at generate
+time, the maximum value will be returned. If the property is not set,
+then it is ignored.
+
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+:ref:`Compatible Interface Properties`.
diff --git a/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst b/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
index 7fe384b178..d5fd8252a8 100644
--- a/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
+++ b/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
@@ -3,15 +3,16 @@ COMPATIBLE_INTERFACE_NUMBER_MIN
Properties whose maximum value from the link interface will be used.
-The COMPATIBLE_INTERFACE_NUMBER_MIN property may contain a list of
-properties for this target whose minimum value may be read at generate time
-when evaluated in the INTERFACE of all linked dependees. For example, if a
-property "FOO" appears in the list, then for each dependee, the
-"INTERFACE_FOO" property content in all of its dependencies will be compared
-with each other and with the "FOO" property in the depender. When reading
-the FOO property at generate time, the minimum value will be returned.
-If the property is not set, then it is ignored. Note that for each
-dependee, the set of properties from this property must not intersect
-with the set of properties from the :prop_tgt:`COMPATIBLE_INTERFACE_BOOL`,
-:prop_tgt:`COMPATIBLE_INTERFACE_STRING` or
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` property.
+The ``COMPATIBLE_INTERFACE_NUMBER_MIN`` property may contain a list of
+properties for this target whose minimum value may be read at generate
+time when evaluated in the ``INTERFACE`` variant of the property of all
+linked dependees. For example, if a
+property ``FOO`` appears in the list, then for each dependee, the
+``INTERFACE_FOO`` property content in all of its dependencies will be
+compared with each other and with the ``FOO`` property in the depender.
+When reading the ``FOO`` property at generate time, the minimum value
+will be returned. If the property is not set, then it is ignored.
+
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+:ref:`Compatible Interface Properties`.
diff --git a/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst b/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
index 1794d87e4c..a0050b9418 100644
--- a/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
+++ b/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
@@ -3,14 +3,14 @@ COMPATIBLE_INTERFACE_STRING
Properties which must be string-compatible with their link interface
-The COMPATIBLE_INTERFACE_STRING property may contain a list of
+The ``COMPATIBLE_INTERFACE_STRING`` property may contain a list of
properties for this target which must be the same when evaluated as a
-string in the INTERFACE of all linked dependees. For example, if a
-property "FOO" appears in the list, then for each dependee, the
-"INTERFACE_FOO" property content in all of its dependencies must be
-equal with each other, and with the "FOO" property in the depender.
-If the property is not set, then it is ignored. Note that for each
-dependee, the set of properties from this property must not intersect
-with the set of properties from the :prop_tgt:`COMPATIBLE_INTERFACE_BOOL`,
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MIN` or
-:prop_tgt:`COMPATIBLE_INTERFACE_NUMBER_MAX` property.
+string in the ``INTERFACE`` variant of the property all linked dependees.
+For example, if a property ``FOO`` appears in the list, then for each
+dependee, the ``INTERFACE_FOO`` property content in all of its
+dependencies must be equal with each other, and with the ``FOO`` property
+in the depender. If the property is not set, then it is ignored.
+
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+:ref:`Compatible Interface Properties`.
diff --git a/Help/prop_tgt/COMPILE_DEFINITIONS.rst b/Help/prop_tgt/COMPILE_DEFINITIONS.rst
index 81e73a4bd4..00c49c3795 100644
--- a/Help/prop_tgt/COMPILE_DEFINITIONS.rst
+++ b/Help/prop_tgt/COMPILE_DEFINITIONS.rst
@@ -3,21 +3,24 @@ COMPILE_DEFINITIONS
Preprocessor definitions for compiling a target's sources.
-The COMPILE_DEFINITIONS property may be set to a semicolon-separated
-list of preprocessor definitions using the syntax VAR or VAR=value.
+The ``COMPILE_DEFINITIONS`` property may be set to a semicolon-separated
+list of preprocessor definitions using the syntax ``VAR`` or ``VAR=value``.
Function-style definitions are not supported. CMake will
automatically escape the value correctly for the native build system
(note that CMake language syntax may require escapes to specify some
-values). This property may be set on a per-configuration basis using
-the name COMPILE_DEFINITIONS_<CONFIG> where <CONFIG> is an upper-case
-name (ex. "COMPILE_DEFINITIONS_DEBUG").
+values).
CMake will automatically drop some definitions that are not supported
by the native build tool. The VS6 IDE does not support definition
values with spaces (but NMake does).
-Contents of COMPILE_DEFINITIONS may use "generator expressions" with the
+.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
+
+Contents of ``COMPILE_DEFINITIONS`` may use "generator expressions" with the
syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual
-for available expressions.
+for available expressions. See the :manual:`cmake-buildsystem(7)` manual
+for more on defining buildsystem properties.
-.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
+The corresponding :prop_tgt:`COMPILE_DEFINITIONS_<CONFIG>` property may
+be set to specify per-configuration definitions. Generator expressions
+should be preferred instead of setting the alternative property.
diff --git a/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst b/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
index 0adb7dd27c..e359d2c6f2 100644
--- a/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
+++ b/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
@@ -3,4 +3,12 @@ COMPILE_DEFINITIONS_<CONFIG>
Per-configuration preprocessor definitions on a target.
-This is the configuration-specific version of COMPILE_DEFINITIONS.
+This is the configuration-specific version of :prop_tgt:`COMPILE_DEFINITIONS`
+where ``<CONFIG>`` is an upper-case name (ex. ``COMPILE_DEFINITIONS_DEBUG``).
+
+Contents of ``COMPILE_DEFINITIONS_<CONFIG>`` 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.
+
+Generator expressions should be preferred instead of setting this property.
diff --git a/Help/prop_tgt/COMPILE_OPTIONS.rst b/Help/prop_tgt/COMPILE_OPTIONS.rst
index 9d5c8b9300..27cbec15f2 100644
--- a/Help/prop_tgt/COMPILE_OPTIONS.rst
+++ b/Help/prop_tgt/COMPILE_OPTIONS.rst
@@ -4,11 +4,13 @@ COMPILE_OPTIONS
List of options to pass to the compiler.
This property specifies the list of options specified so far for this
-property. This property exists on directories and targets.
+property.
-The target property values are used by the generators to set the
-options for the compiler.
+This property is intialized by the :prop_dir:`COMPILE_OPTIONS` directory
+property, which is used by the generators to set the options for the
+compiler.
-Contents of COMPILE_OPTIONS may use "generator expressions" with the
-syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual for
-available expressions.
+Contents of ``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.
diff --git a/Help/prop_tgt/INCLUDE_DIRECTORIES.rst b/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
index 1ab7583796..8b40d9c346 100644
--- a/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
+++ b/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
@@ -4,22 +4,21 @@ INCLUDE_DIRECTORIES
List of preprocessor include file search directories.
This property specifies the list of directories given so far to the
-include_directories command. This property exists on directories and
-targets. In addition to accepting values from the :command:`include_directories`
-command, values may be set directly on any directory or any target
-using the :command:`set_property` command. A target gets its initial value for
-this property from the value of the directory property. A directory
-gets its initial value from its parent directory if it has one. Both
-directory and target property values are adjusted by calls to the
+:command:`target_include_directories` command. In addition to accepting
+values from that command, values may be set directly on any
+target using the :command:`set_property` command. A target gets its
+initial value for this property from the value of the
+:prop_dir:`INCLUDE_DIRECTORIES` directory property. Both directory and
+target property values are adjusted by calls to the
:command:`include_directories` command.
-The target property values are used by the generators to set the
-include paths for the compiler. See also the :command:`include_directories`
-and :command:`target_include_directories` commands.
+The value of this property is used by the generators to set the include
+paths for the compiler.
Relative paths should not be added to this property directly. Use one of
the commands above instead to handle relative paths.
-Contents of INCLUDE_DIRECTORIES may use "generator expressions" with the
-syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual for
-available expressions.
+Contents of ``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.
diff --git a/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst b/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
index eb001ddf4f..910b661fed 100644
--- a/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
+++ b/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
@@ -5,9 +5,11 @@ 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 COMPILE_DEFINITIONS property such
-as $<TARGET_PROPERTY:foo,INTERFACE_COMPILE_DEFINITIONS> to use the
-compile definitions specified in the interface of 'foo'.
+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``.
-This property also supports generator expressions. See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
+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.
diff --git a/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst b/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
index 51b1f6e249..d0a38d6a26 100644
--- a/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
+++ b/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
@@ -5,9 +5,11 @@ 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 COMPILE_OPTIONS property such as
-$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_OPTIONS> to use the compile
-options specified in the interface of 'foo'.
+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``.
-This property also supports generator expressions. See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
+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.
diff --git a/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst b/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
index 33892da073..bf4ab46e6a 100644
--- a/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
+++ b/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
@@ -5,9 +5,11 @@ List of public include directories for a library.
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 INCLUDE_DIRECTORIES property such
-as $<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES> to use the
-include directories specified in the interface of 'foo'.
+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``.
-This property also supports generator expressions. See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
+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.
diff --git a/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst b/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
index 64ac46ed19..8e4843b481 100644
--- a/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
+++ b/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
@@ -7,8 +7,11 @@ This property contains the list of transitive link dependencies. When
the target is linked into another target the libraries listed (and
recursively their link interface libraries) will be provided to the
other target also. This property is overridden by the
-LINK_INTERFACE_LIBRARIES or LINK_INTERFACE_LIBRARIES_<CONFIG> property
-if policy CMP0022 is OLD or unset.
+:prop_tgt:`LINK_INTERFACE_LIBRARIES` or
+:prop_tgt:`LINK_INTERFACE_LIBRARIES_<CONFIG>` property if policy
+:policy:`CMP0022` is ``OLD`` or unset.
-This property also supports generator expressions. See the
-:manual:`cmake-generator-expressions(7)` manual for available expressions.
+Contents of ``INTERFACE_LINK_LIBRARIES`` 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.
diff --git a/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst b/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
index 76c1e06f43..ea700dfe98 100644
--- a/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
+++ b/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
@@ -3,13 +3,14 @@ INTERFACE_POSITION_INDEPENDENT_CODE
Whether consumers need to create a position-independent target
-The INTERFACE_POSITION_INDEPENDENT_CODE property informs consumers of
-this target whether they must set their POSITION_INDEPENDENT_CODE
-property to ON. If this property is set to ON, then the
-POSITION_INDEPENDENT_CODE property on all consumers will be set to ON.
-Similarly, if this property is set to OFF, then the
-POSITION_INDEPENDENT_CODE property on all consumers will be set to
-OFF. If this property is undefined, then consumers will determine
-their POSITION_INDEPENDENT_CODE property by other means. Consumers
+The ``INTERFACE_POSITION_INDEPENDENT_CODE`` property informs consumers of
+this target whether they must set their
+:prop_tgt:`POSITION_INDEPENDENT_CODE` property to ``ON``. If this
+property is set to ``ON``, then the :prop_tgt:`POSITION_INDEPENDENT_CODE`
+property on all consumers will be set to ``ON``. Similarly, if this
+property is set to ``OFF``, then the :prop_tgt:`POSITION_INDEPENDENT_CODE`
+property on all consumers will be set to ``OFF``. If this property is
+undefined, then consumers will determine their
+:prop_tgt:`POSITION_INDEPENDENT_CODE` property by other means. Consumers
must ensure that the targets that they link to have a consistent
-requirement for their INTERFACE_POSITION_INDEPENDENT_CODE property.
+requirement for their ``INTERFACE_POSITION_INDEPENDENT_CODE`` property.
diff --git a/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst b/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
index 9a6e3a9487..9e603ee5ac 100644
--- a/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
+++ b/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
@@ -8,5 +8,8 @@ which contain system headers, and therefore should not result in
compiler warnings. Consuming targets will then mark the same include
directories as system headers.
-This property also supports generator expressions. See the
+Contents of ``INTERFACE_SYSTEM_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.
diff --git a/Help/prop_tgt/LINK_LIBRARIES.rst b/Help/prop_tgt/LINK_LIBRARIES.rst
index 48f283054b..aa4b9f55f4 100644
--- a/Help/prop_tgt/LINK_LIBRARIES.rst
+++ b/Help/prop_tgt/LINK_LIBRARIES.rst
@@ -5,13 +5,13 @@ List of direct link dependencies.
This property specifies the list of libraries or targets which will be
used for linking. In addition to accepting values from the
-target_link_libraries command, values may be set directly on any
-target using the set_property command.
+:command:`target_link_libraries` command, values may be set directly on
+any target using the :command:`set_property` command.
-The target property values are used by the generators to set the link
-libraries for the compiler. See also the target_link_libraries
-command.
+The value of this property is used by the generators to set the link
+libraries for the compiler.
-Contents of LINK_LIBRARIES may use "generator expressions" with the syntax
-``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual for
-available expressions.
+Contents of ``LINK_LIBRARIES`` 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.
diff --git a/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst b/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
index 120244740e..54af8c6ded 100644
--- a/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
+++ b/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
@@ -3,9 +3,9 @@ POSITION_INDEPENDENT_CODE
Whether to create a position-independent target
-The POSITION_INDEPENDENT_CODE property determines whether position
+The ``POSITION_INDEPENDENT_CODE`` property determines whether position
independent executables or shared libraries will be created. This
-property is true by default for SHARED and MODULE library targets and
-false otherwise. This property is initialized by the value of the
-variable CMAKE_POSITION_INDEPENDENT_CODE if it is set when a target is
-created.
+property is ``True`` by default for ``SHARED`` and ``MODULE`` library
+targets and ``False`` otherwise. This property is initialized by the value
+of the :variable:`CMAKE_POSITION_INDEPENDENT_CODE` variable if it is set
+when a target is created.