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.

.. note::

  The :prop_sf:`GENERATED` source file property may be globally visible.
  See its documentation for details.
