mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-17 15:32:10 +08: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
32 lines
1.3 KiB
ReStructuredText
32 lines
1.3 KiB
ReStructuredText
get_source_file_property
|
|
------------------------
|
|
|
|
Get a property for a source file.
|
|
|
|
.. code-block:: cmake
|
|
|
|
get_source_file_property(VAR file [<TARGET_DIRECTORY ... | DIRECTORY ...>] property)
|
|
|
|
Gets a property from a source file. The value of the property is
|
|
stored in the variable ``VAR``. If the source property is not found, the
|
|
behavior depends on whether it has been defined to be an ``INHERITED`` property
|
|
or not (see :command:`define_property`). Non-inherited properties will set
|
|
``VAR`` to "NOTFOUND", whereas inherited properties will search the relevant
|
|
parent scope as described for the :command:`define_property` command and
|
|
if still unable to find the property, ``VAR`` will be set to an empty string.
|
|
|
|
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.
|
|
|
|
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`.
|
|
|
|
See also the more general :command:`get_property` command.
|