File set names should have more stringent requirements
There is currently no restriction placed on file sets defined by target_sources(FILE_SETS)
other than they must not start with a capital letter (except for the predefined set name HEADERS
). The file set name is used to define target properties like HEADER_SET_<NAME>
and HEADER_DIRS_<NAME>
. If the file set name contains a space, that actually works at the moment, but it seems undesirable that we would allow a property name containing a space to be defined. I think we probably want to specify that file set names can only contain letters, numbers and underscores, and we should enforce that requirement. We probably also want to prohibit starting a file set name with an underscore, since that will lead to some pretty strange properties with repeated underscores like HEADER_SET__blah
.