-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Modern CMake (3.23+) supports FILE_SET for managing header installation and usage requirements. Currently, cet_make_library generates an install(TARGETS ...) command that does not include the FILE_SET arguments.
Example:
cet_make_library(LIBRARY_NAME my_lib ...)
target_sources(my_lib PUBLIC FILE_SET HEADERS FILES my_header.hpp)Result:
This results in a CMake error during generation:
File set "HEADERS" is listed in interface file sets of my_lib but has not been exported
This happens because the install command generated by cet_make_library exports the target but fails to associate the file set with that export. Adding a manual install(TARGETS my_lib ... FILE_SET HEADERS) causes conflicts or doesn't resolve the issue cleanly because cet_make_library has already defined an install rule.
Request:
Update cet_make_library to accept FILE_SET arguments or automatically detect and forward FILE_SET properties to the generated install command.