You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.4 KiB
102 lines
3.4 KiB
get_property
|
|
------------
|
|
|
|
Get a property.
|
|
|
|
.. code-block:: cmake
|
|
|
|
get_property(<variable>
|
|
<GLOBAL |
|
|
DIRECTORY [<dir>] |
|
|
TARGET <target> |
|
|
SOURCE <source> |
|
|
[DIRECTORY <dir> | TARGET_DIRECTORY <target>] |
|
|
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>``.
|
|
Relative paths are treated as relative to the current source directory.
|
|
See also the :command:`get_directory_property` command.
|
|
|
|
.. versionadded:: 3.19
|
|
``<dir>`` may reference a binary directory.
|
|
|
|
``TARGET``
|
|
Scope must name one existing target.
|
|
See also the :command:`get_target_property` command.
|
|
|
|
``SOURCE``
|
|
Scope must name one source file. By default, the source file's property
|
|
will be read from the current source directory's scope.
|
|
|
|
.. versionadded:: 3.18
|
|
Directory scope can be overridden with one of the following sub-options:
|
|
|
|
``DIRECTORY <dir>``
|
|
The source file property will be read from the ``<dir>`` directory's
|
|
scope. CMake must already know about
|
|
the directory, either by having added it through a call
|
|
to :command:`add_subdirectory` or ``<dir>`` being the top level directory.
|
|
Relative paths are treated as relative to the current source directory.
|
|
|
|
.. versionadded:: 3.19
|
|
``<dir>`` may reference a binary directory.
|
|
|
|
``TARGET_DIRECTORY <target>``
|
|
The source file property will be read from the directory scope in which
|
|
``<target>`` was created (``<target>`` must therefore already exist).
|
|
|
|
See also the :command:`get_source_file_property` command.
|
|
|
|
``INSTALL``
|
|
.. versionadded:: 3.1
|
|
|
|
Scope must name one installed file path.
|
|
|
|
``TEST``
|
|
Scope must name one existing test.
|
|
See also the :command:`get_test_property` command.
|
|
|
|
``CACHE``
|
|
Scope must name one cache entry.
|
|
|
|
``VARIABLE``
|
|
Scope is unique and does not accept a name.
|
|
|
|
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.
|
|
|
|
.. note::
|
|
|
|
The :prop_sf:`GENERATED` source file property may be globally visible.
|
|
See its documentation for details.
|