CMake Nightly Date Stamp
Makefiles: Compute local object files on demand.

Don't compute them up front.
cmGlobalGenerator: Extract a ComputeTargetObjectDirectory interface.

Make it public for future external calls.
cmGeneratorTarget: Constify the AddObject API.

The storage is already const.
cmGeneratorTarget: Constify the AddExplicitObjectName API.

The storage is already const.
cmOSXBundleGenerator: Make MacOSXContentGeneratorType arg const.
cmGeneratorTarget: Make GetSourceDepends const.
Constify some APIs in generators.
cmGeneratorTarget: Constify cmSourceFile* in containers.

Some of them will be used with other APIs which require value_type
to be cmSourceFile const*.
cmLocalGenerator: Add ComputeObjectFilenames method.
cmGeneratorTarget: Compute target objects on demand

Add a ComputeTargetObjects method to compute the object
names.  It takes a non-const reference to a mapping so
that it can be extended in the future with parameters
relevant to generator expression evaluation.

Remove the old method from the generators which are now all
functionally identical.

Remove the supporting cmGeneratorTarget::AddObject method. It is
no longer needed as the container member is populated directly.

In a follow-up, the UseObjectLibraries usage may be replaced by a
true generator expression evaluator for TARGET_OBJECTS. That
will require generators to use cmGeneratorTarget::GetExternalObjects
which is not currently the case for Xcode and VS generators.
Merge topic 'target-objects-refactor' into next

dcf007f7 cmGeneratorTarget: Compute target objects on demand
32a8ba62 cmLocalGenerator: Add ComputeObjectFilenames method.
c82bb275 cmGeneratorTarget: Constify cmSourceFile* in containers.
acbe8451 Constify some APIs in generators.
81b55744 cmGeneratorTarget: Make GetSourceDepends const.
4cd7136e cmOSXBundleGenerator: Make MacOSXContentGeneratorType arg const.
89578502 cmGeneratorTarget: Constify the AddExplicitObjectName API.
64c9728c cmGeneratorTarget: Constify the AddObject API.
868b1d95 cmGlobalGenerator: Extract a ComputeTargetObjectDirectory interface.
be0ecc69 Makefiles: Compute local object files on demand.
4a6a59a1 CMake Nightly Date Stamp