Source files can have properties that affect how they are built.
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.
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:
Use get_source_file_property() to get property values. See also the set_property(SOURCE) command.
See Properties on Source Files for the list of properties known to CMake.