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.
cmTarget: Allow transitive evaluation of SOURCES property.

Extend the cmGeneratorExpressionDAGChecker with an interface
returning the name of the top target.  Use that to determine
when there is a DAG violation, as required by the RunCMake.Languages
tests.
cmTarget: Make the SOURCES origin tracable.
Make the SOURCES target property writable.
target_sources: New command to add sources to target.
Merge topic 'target-transitive-sources' into next

f583118a target_sources: New command to add sources to target.
5fa0f1ae Make the SOURCES target property writable.
540bb2be cmTarget: Make the SOURCES origin tracable.
445aa78b cmTarget: Allow transitive evaluation of SOURCES property.
392d635d cmTarget: Make the source files depend on the config.