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

7c8b1c52 target_sources: New command to add sources to target.
cec7f680 Make the SOURCES target property writable.
7c4380c2 cmTarget: Make the SOURCES origin tracable.
0f60978e cmTarget: Allow transitive evaluation of SOURCES property.
3100ea99 cmTarget: Make the source files depend on the config.