target_sources() does not enforce one FILE_SET per interface keyword
Each FILE_SET
should be preceded by PRIVATE
, PUBLIC
or INTERFACE
and this requirement is documented with the target_sources()
command. But the following doesn't result in an error:
target_sources(Something
PUBLIC
FILE_SET blah TYPE HEADERS
FILE_SET other TYPE HEADERS
)
Instead, the blah
file set is discarded and only the other
file set is defined. This can be confirmed by checking whether the HEADER_SET_blah
property is defined on the target (it isn't with the above example, but HEADER_SET_other
is).