mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 12:49:36 -06:00
Both set_source_files_properties() and set_property(SOURCE) now accept two new optional arguments: DIRECTORY and TARGET_DIRECTORY. The DIRECTORY option takes a list of relative or absolute paths pointing to processed source directories (add_subdirectory was already called on them). These paths specify directory scopes where the source file properties will be set. Previously the scope was always the currently processed source directory. Similarly TARGET_DIRECTORY takes a list of targets, whose source directories will be used as the list of scopes where to set the source file properties. get_property() and get_source_file_property() also get the same new arguments, except only one value can be specified instead of a list. Fixes: #20128
77 lines
2.5 KiB
ReStructuredText
77 lines
2.5 KiB
ReStructuredText
get_property
|
|
------------
|
|
|
|
Get a property.
|
|
|
|
.. code-block:: cmake
|
|
|
|
get_property(<variable>
|
|
<GLOBAL |
|
|
DIRECTORY [<dir>] |
|
|
TARGET <target> |
|
|
SOURCE <source> |
|
|
[<TARGET_DIRECTORY ... | DIRECTORY ...>] |
|
|
INSTALL <file> |
|
|
TEST <test> |
|
|
CACHE <entry> |
|
|
VARIABLE >
|
|
PROPERTY <name>
|
|
[SET | DEFINED | BRIEF_DOCS | FULL_DOCS])
|
|
|
|
Gets one property from one object in a scope.
|
|
|
|
The first argument specifies the variable in which to store the result.
|
|
The second argument determines the scope from which to get the property.
|
|
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 the
|
|
full or relative path ``<dir>``.
|
|
|
|
``TARGET``
|
|
Scope must name one existing target.
|
|
|
|
``SOURCE``
|
|
Scope must name one source file.
|
|
|
|
``INSTALL``
|
|
Scope must name one installed file path.
|
|
|
|
``TEST``
|
|
Scope must name one existing test.
|
|
|
|
``CACHE``
|
|
Scope must name one cache entry.
|
|
|
|
``VARIABLE``
|
|
Scope is unique and does not accept a name.
|
|
|
|
In the ``SOURCE`` case, the queried source file scope can be changed by
|
|
specifying one of the additional options: ``DIRECTORY`` or ``TARGET_DIRECTORY``.
|
|
|
|
``DIRECTORY`` takes a path to a processed directory, and the source file property
|
|
will be read from that directory scope.
|
|
|
|
``TARGET_DIRECTORY`` takes the name of an existing target. The source file
|
|
property will be read from this target's directory scope.
|
|
|
|
The required ``PROPERTY`` option is immediately followed by the name of
|
|
the property to get. If the property is not set an empty value is
|
|
returned, although some properties support inheriting from a parent scope
|
|
if defined to behave that way (see :command:`define_property`).
|
|
|
|
If the ``SET`` option is given the variable is set to a boolean
|
|
value indicating whether the property has been set. If the ``DEFINED``
|
|
option is given the variable is set to a boolean value indicating
|
|
whether the property has been defined such as with the
|
|
:command:`define_property` command.
|
|
|
|
If ``BRIEF_DOCS`` or ``FULL_DOCS`` is given then the variable is set to a
|
|
string containing documentation for the requested property. If
|
|
documentation is requested for a property that has not been defined
|
|
``NOTFOUND`` is returned.
|