| SOURCES |
| ------- |
| |
| .. versionadded:: 4.4 |
| |
| This specifies the list of paths to sources for the file set. |
| The :command:`target_sources` command sets or adds to the ``SOURCES`` file set |
| property for the file sets defined with the ``PRIVATE`` or ``PUBLIC`` keyword |
| and is the usual way to manipulate it. |
| |
| Contents of ``SOURCES`` may use |
| :manual:`generator expressions <cmake-generator-expressions(7)>`. |
| |
| Each file must be in one of the base directories, or a subdirectory of one of |
| the base directories. If relative paths are specified, they are considered |
| relative to the target's source directory. |
| |
| The following behavior applies for the ``SOURCES`` and |
| :prop_fs:`INTERFACE_SOURCES` file set properties, dependent on the value of the |
| :prop_fs:`SCOPE` file set property: |
| |
| ``PRIVATE`` |
| Only the ``SOURCES`` property can be set. Any change to |
| the :prop_fs:`INTERFACE_SOURCES` property will be ignored. |
| |
| ``PUBLIC`` |
| ``SOURCES`` and :prop_fs:`INTERFACE_SOURCES` properties will always have the |
| same content. |
| |
| ``INTERFACE`` |
| Only the :prop_fs:`INTERFACE_SOURCES` property can be set. Any change to |
| ``SOURCES`` property will be ignored. |