mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 05:11:15 -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
33 lines
1.2 KiB
ReStructuredText
33 lines
1.2 KiB
ReStructuredText
set_source_files_properties
|
|
---------------------------
|
|
|
|
Source files can have properties that affect how they are built.
|
|
|
|
.. code-block:: cmake
|
|
|
|
set_source_files_properties([file1 [file2 [...]]]
|
|
[<TARGET_DIRECTORY ... | DIRECTORY ...>]
|
|
PROPERTIES prop1 value1
|
|
[prop2 value2 [...]])
|
|
|
|
Sets properties associated with source files using a key/value paired
|
|
list.
|
|
|
|
Note that source file properties are by default visible only to
|
|
targets added in the same directory (``CMakeLists.txt``).
|
|
|
|
The file properties can be made visible in a different directory by specifying
|
|
one of the additional options: ``TARGET_DIRECTORY`` or ``DIRECTORY``.
|
|
|
|
``DIRECTORY`` takes a list of processed directories paths, and sets the file
|
|
properties in those directory scopes.
|
|
|
|
``TARGET_DIRECTORY`` takes a list of existing targets. The file
|
|
properties will be set in these targets' directory scopes.
|
|
|
|
See also the :command:`set_property(SOURCE)` command.
|
|
|
|
See :ref:`Source File Properties` for the list of properties known
|
|
to CMake. Source file properties are visible only to targets added
|
|
in the same directory (``CMakeLists.txt``).
|