Verify header sets targets excluded from all by default, doesn't scale for large projects
When using the new VERIFY_INTERFACE_HEADER_SETS
target property introduced in CMake 3.24, the extra <target-name>_verify_interface_header_sets
targets are excluded from the default ALL target. If there are many targets in the build, there's no easy way to build all of these verification targets, you have to explicitly ask for each one to be built by name. This doesn't scale when there are more than a couple of targets. I expected some kind of umbrella target like an all_verify_interface_header_sets
target that depended on the others, but was surprised that doesn't seem to exist at the moment.
Having this umbrella target would be very helpful for both local developers and for CI scripts. Since the target name all
is effectively reserved, all_verify_interface_header_sets
should be safe to use. It's probably too late to add this for 3.24.0, but given the impact on usability, I'd advocate for its addition in 3.24.1. Given the interactions highlighted in #23808 (closed), I now think this would probably have to wait to 3.25.