CMake Nightly Date Stamp
CMake Nightly Date Stamp
Initialize IMPORTED GLOBAL targets on reconfigure (#13702)

Since commit ca39c5cd (Optionally allow IMPORTED targets to be globally
visible, 2012-01-25) cmGlobalGenerator has a second member that tracks
targets with global scope.  We must initialize the new 'ImportedTargets'
member wherever the old 'TotalTargets' member is initialized.  Without
this initialization the ImportedTargets member is left with dangling
pointers during a same-process re-configuration.
Merge topic 'fix-IMPORTED-GLOBAL-reconfigure' into next

5ff7587 Initialize IMPORTED GLOBAL targets on reconfigure (#13702)
Introduce the abstract class cmGlobalGeneratorFactory

This new abstract class allows us move some logic from the
cmGlobalGenerator into its own layer in a next step.
Add cmGlobalGeneratorFactory::GetGenerators()

This allows cmGlobalGeneratorFactory to create more than
one type of cmGlobalGenerator in a next step.
Search generator in cmake::ExtraGenerators before in cmake::Generators

Since ExtraGenerators does not contain items, which are in Generators
too, there is not change in behaviour. The benefit of this change is,
that the lookup in the Generators map is now only done once.
Allow a GeneratorFactory handling of more than one generator

Pass the name of the requested generator to the generator factory,
which is now responsible to check if it can create a matching
generator for the name. This allows us to add more logic to the
factory in a next step, so that not every possible generator needs
to get registered explicit in cmake::AddDefaultGenerators().
Merge topic 'generator-factory' into next

b006d69 Allow a GeneratorFactory handling of more than one generator
010e50f Search generator in cmake::ExtraGenerators before in cmake::Generators
7d4060a Add cmGlobalGeneratorFactory::GetGenerators()
76f0130 Introduce the abstract class cmGlobalGeneratorFactory
cmGlobalXCodeGenerator: Fix typo NewFacotry -> NewFactory
Merge topic 'generator-factory' into next

6aa6df5 cmGlobalXCodeGenerator: Fix typo NewFacotry -> NewFactory
cmGlobalGeneratorFactory: Add virtual destructor
Introduce the abstract class cmGlobalGeneratorFactory

This new abstract class allows us move some logic from the
cmGlobalGenerator into its own layer in a next step.
Add cmGlobalGeneratorFactory::GetGenerators()

This allows cmGlobalGeneratorFactory to create more than
one type of cmGlobalGenerator in a next step.
Search generator in cmake::ExtraGenerators before in cmake::Generators

Since ExtraGenerators does not contain items, which are in Generators
too, there is not change in behaviour. The benefit of this change is,
that the lookup in the Generators map is now only done once.
Allow a GeneratorFactory handling of more than one generator

Pass the name of the requested generator to the generator factory,
which is now responsible to check if it can create a matching
generator for the name. This allows us to add more logic to the
factory in a next step, so that not every possible generator needs
to get registered explicit in cmake::AddDefaultGenerators().
Make cmGlobalGenerator::GetDocumentation() a static function

Making the function static allows us to call it directly,
without creating and removing an instance of the generator.
VS: Remove AddPlatformDefinitions from platform-specific generators

Move the logic for handling platform specific defines from the
subclasses into the cmGlobalVisualStudioGenerator base class.
Merge topic 'generator-factory' into next

682fbc2 cmGlobalGeneratorFactory: Add virtual destructor
Merge topic 'generator-factory' into next

04ff866 Allow a GeneratorFactory handling of more than one generator
984ebc3 Search generator in cmake::ExtraGenerators before in cmake::Generators
30a6950 Add cmGlobalGeneratorFactory::GetGenerators()
e8f8414 Introduce the abstract class cmGlobalGeneratorFactory