add_custom_command: Target-dependent generator expression support

OUTPUT variant with a TARGET given to allow resolving target-based generator
expressions wouldn't work because OUTPUT is resolved before generator targets
are created, i.e. FindGeneratorTargetToUse() returns nullptr.
This is a known limitation, see #21364.

Implements #21336.
36 jobs for !6176 with command_target in 85 minutes and 57 seconds (queued for 5 seconds)
latest merge request