install(TARGETS): Add the COMPONENT_NAMESPACE generic argument
This argument will simplify the install(TARGETS) form of the command, by allowing the user to set a namespace for all groups. The suffix will be set to either "Runtime" or "Development" by default to enforce convention.
Groups that fall into the runtime category: BUNDLE, FRAMEWORK, LIBRARY,
RESOURCE, RUNTIME
Groups that fall into the development category: ARCHIVE, OBJECTS,
PUBLIC_HEADER, PRIVATE_HEADER
This feature will also set the NAMELINK_COMPONENT for the LIBRARY group to the development component name by default.
Fixes: #22699
Edited by friendlyanon