
Since ff6234509e
(Help: Clarify behavior of INHERITED properties, 2018-03-21),
the docs for some get_..._property() commands incorrectly describe
the behavior for inherited properties. When a property is not set, even
in a parent scope, the returned result from the get_..._property()
command is the same whether the property is inherited or not.
The docs incorrectly stated that an empty string would be returned
for inherited properties in such cases.
51 lines
1.9 KiB
ReStructuredText
51 lines
1.9 KiB
ReStructuredText
get_source_file_property
|
|
------------------------
|
|
|
|
Get a property for a source file.
|
|
|
|
.. code-block:: cmake
|
|
|
|
get_source_file_property(<variable> <file>
|
|
[DIRECTORY <dir> | TARGET_DIRECTORY <target>]
|
|
<property>)
|
|
|
|
Gets a property from a source file. The value of the property is stored in
|
|
the specified ``<variable>``. If the ``<file>`` is not a source file, or the
|
|
source property is not found, ``<variable>`` will be set to ``NOTFOUND``.
|
|
If the source property was defined to be an ``INHERITED`` property (see
|
|
:command:`define_property`), the search will include the relevant parent
|
|
scopes, as described for the :command:`define_property` command.
|
|
|
|
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 that source directory, either by
|
|
having added it through a call to :command:`add_subdirectory` or ``<dir>``
|
|
being the top level source directory. Relative paths are treated as
|
|
relative to the current source 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).
|
|
|
|
Use :command:`set_source_files_properties` to set property values. Source
|
|
file properties usually control how the file is built. One property that is
|
|
always there is :prop_sf:`LOCATION`.
|
|
|
|
.. note::
|
|
|
|
The :prop_sf:`GENERATED` source file property may be globally visible.
|
|
See its documentation for details.
|
|
|
|
See Also
|
|
^^^^^^^^
|
|
|
|
* :command:`define_property`
|
|
* the more general :command:`get_property` command
|
|
* :command:`set_source_files_properties`
|