Revert "Revert "cmGeneratorTarget: Don't add computed sources to the target.""

This reverts commit 4e85d29d1f8f0ee1c4907d750f3c9973d62890e1.
Revert "Revert "cmTarget: Make the source files depend on the config.""

This reverts commit 87c6e7fbce7d8fb637d01bf08dbd4d27d0d791ac.
Merge topic 'target-transitive-sources' into next

ee1f4c8b Revert "Revert "cmTarget: Make the source files depend on the config.""
1e2a05f5 Revert "Revert "cmGeneratorTarget: Don't add computed sources to the target.""
cmGeneratorTarget: Don't add computed sources to the target.

When config-specifig generator expressions are supported, a target
may have SOURCES:

 src1.cpp $<$<CONFIG:Debug>:src2.cpp> $<$<CONFIG:Release>:src3.cpp>

and computation in cmTargetTraceDependencies would add each of the
src2.cpp and src3.cpp sources back to the target without a
config-guard.  That would make the sources be used later when
generating the buildsystem, regardless of the configuration.

Avoid calling AddSource on the target with the result of the
GetSourceFiles call.
cmTarget: Make the source files depend on the config.

Disallow the use of config-specific source files with
the Visual Studio and Xcode generators. They don't have
any way to represent the condition currently.

Use the same common-config API in cmQtAutoGenerators. While
it accepts config-specific files, it doesn't have to support
multiple configurations yet.

Loop over the configs in cmTargetTraceDependencies
and cmGlobalGenerator::WriteSummary and consume all source
files.

Loop over the configs in cmComputeTargetDepends and compute the
object library dependencies for each config.
Merge topic 'target-transitive-sources' into next

6b6ac694 cmTarget: Make the source files depend on the config.
aa2a8943 cmGeneratorTarget: Don't add computed sources to the target.