mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
This change ony concerns directives that appear in the document body. The guidelines for inserting version directives: * Baseline version is CMake 3.0, i.e. directives start at 3.1. * Always use `.. versionadded::` directive, avoid ad-hoc version references. Exception: policy pages. * For new command signatures, put `versionadded` on a separate line after the signature. * For a group of new signatures in a new document section, a single version note at the beginning of the section is sufficient. * For new options, put `versionadded` on a separate line before option description. * If all the option descriptions in the list are short one-liners, it's fine to put `versionadded` on the same line as the description. * If multiple option descriptions in close proximity would have the same ..versionadded directive, consider adding a single directive after the list, mentioning all added options. * For compact value lists and sub-option lists, put a single `versionadded` directive after the list mentioning all additions. * When a change is described in a single paragraph, put `versionadded` into that paragraph. * When only part of the paragraph has changed, separate the changed part if it doesn't break the flow. Otherwise, write a follow-up clarification paragraph and apply version directive to that. * When multiple version directives are close by, order earlier additions before later additions. * Indent related lists and code blocks to include them in the scope of `versionadded` directive. Issue: #19715
39 lines
1.5 KiB
ReStructuredText
39 lines
1.5 KiB
ReStructuredText
set_source_files_properties
|
|
---------------------------
|
|
|
|
Source files can have properties that affect how they are built.
|
|
|
|
.. code-block:: cmake
|
|
|
|
set_source_files_properties(<files> ...
|
|
[DIRECTORY <dirs> ...]
|
|
[TARGET_DIRECTORY <targets> ...]
|
|
PROPERTIES <prop1> <value1>
|
|
[<prop2> <value2>] ...)
|
|
|
|
Sets properties associated with source files using a key/value paired
|
|
list.
|
|
|
|
.. versionadded:: 3.18
|
|
By default, source file properties are only visible to targets added in the
|
|
same directory (``CMakeLists.txt``). Visibility can be set in other directory
|
|
scopes using one or both of the following options:
|
|
|
|
``DIRECTORY <dirs>...``
|
|
The source file properties will be set in each of the ``<dirs>``
|
|
directories' scopes. CMake must already know about each of these
|
|
source directories, either by having added them through a call to
|
|
:command:`add_subdirectory` or it being the top level source directory.
|
|
Relative paths are treated as relative to the current source directory.
|
|
|
|
``TARGET_DIRECTORY <targets>...``
|
|
The source file properties will be set in each of the directory scopes
|
|
where any of the specified ``<targets>`` were created (the ``<targets>``
|
|
must therefore already exist).
|
|
|
|
Use :command:`get_source_file_property` to get property values.
|
|
See also the :command:`set_property(SOURCE)` command.
|
|
|
|
See :ref:`Source File Properties` for the list of properties known
|
|
to CMake.
|