summaryrefslogtreecommitdiff
path: root/share/cmake-3.18/Help/command/set_property.rst
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.18/Help/command/set_property.rst')
-rw-r--r--share/cmake-3.18/Help/command/set_property.rst96
1 files changed, 96 insertions, 0 deletions
diff --git a/share/cmake-3.18/Help/command/set_property.rst b/share/cmake-3.18/Help/command/set_property.rst
new file mode 100644
index 0000000..93c2d9c
--- /dev/null
+++ b/share/cmake-3.18/Help/command/set_property.rst
@@ -0,0 +1,96 @@
+set_property
+------------
+
+Set a named property in a given scope.
+
+.. code-block:: cmake
+
+ set_property(<GLOBAL |
+ DIRECTORY [<dir>] |
+ TARGET [<target1> ...] |
+ SOURCE [<src1> ...]
+ [DIRECTORY <dirs> ...] |
+ [TARGET_DIRECTORY <targets> ...]
+ INSTALL [<file1> ...] |
+ TEST [<test1> ...] |
+ CACHE [<entry1> ...] >
+ [APPEND] [APPEND_STRING]
+ PROPERTY <name> [<value1> ...])
+
+Sets one property on zero or more objects of a scope.
+
+The first argument determines the scope in which the property is set.
+It must be one of the following:
+
+``GLOBAL``
+ Scope is unique and does not accept a name.
+
+``DIRECTORY``
+ Scope defaults to the current directory but another directory
+ (already processed by CMake) may be named by full or relative path.
+ See also the :command:`set_directory_properties` command.
+
+``TARGET``
+ Scope may name zero or more existing targets.
+ See also the :command:`set_target_properties` command.
+
+``SOURCE``
+ Scope may name zero or more source files. By default, source file properties
+ are only visible to targets added in the same directory (``CMakeLists.txt``).
+ Visibility can be set in other directory scopes using one or both of the
+ following sub-options:
+
+ ``DIRECTORY <dirs>...``
+ The source file property will be set in each of the ``<dirs>``
+ directories' scopes. CMake must already know about each of these
+ source directories, either by having added them through a call to
+ :command:`add_subdirectory` or it being the top level source directory.
+ Relative paths are treated as relative to the current source directory.
+
+ ``TARGET_DIRECTORY <targets>...``
+ The source file property will be set in each of the directory scopes
+ where any of the specified ``<targets>`` were created (the ``<targets>``
+ must therefore already exist).
+
+ See also the :command:`set_source_files_properties` command.
+
+``INSTALL``
+ Scope may name zero or more installed file paths.
+ These are made available to CPack to influence deployment.
+
+ Both the property key and value may use generator expressions.
+ Specific properties may apply to installed files and/or directories.
+
+ Path components have to be separated by forward slashes,
+ must be normalized and are case sensitive.
+
+ To reference the installation prefix itself with a relative path use ``.``.
+
+ Currently installed file properties are only defined for
+ the WIX generator where the given paths are relative
+ to the installation prefix.
+
+``TEST``
+ Scope may name zero or more existing tests.
+ See also the :command:`set_tests_properties` command.
+
+``CACHE``
+ Scope must name zero or more cache existing entries.
+
+The required ``PROPERTY`` option is immediately followed by the name of
+the property to set. Remaining arguments are used to compose the
+property value in the form of a semicolon-separated list.
+
+If the ``APPEND`` option is given the list is appended to any existing
+property value (except that empty values are ignored and not appended).
+If the ``APPEND_STRING`` option is given the string is
+appended to any existing property value as string, i.e. it results in a
+longer string and not a list of strings. When using ``APPEND`` or
+``APPEND_STRING`` with a property defined to support ``INHERITED``
+behavior (see :command:`define_property`), no inheriting occurs when
+finding the initial value to append to. If the property is not already
+directly set in the nominated scope, the command will behave as though
+``APPEND`` or ``APPEND_STRING`` had not been given.
+
+See the :manual:`cmake-properties(7)` manual for a list of properties
+in each scope.