cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.

Refactor the local generator creation API to accept a
cmState::Snapshot.  Adjust MakeLocalGenerator to use the 'current'
snapshot in cases where there is no parent.  Create the snapshot
for subdirectories in cmMakefile::AddSubdirectory.

This means that snapshots are now created at the point of extending the tree,
as appropriate, and independently of the cmLocalGenerator and cmMakefile they
represent the state for.
This commit is contained in:
Stephen Kelly
2015-05-24 11:50:55 +02:00
committed by Brad King
parent e12afe766e
commit 3b880a0741
38 changed files with 111 additions and 64 deletions
+2 -1
View File
@@ -26,7 +26,8 @@ class cmLocalVisualStudio10Generator : public cmLocalVisualStudio7Generator
public:
///! Set cache only and recurse to false by default.
cmLocalVisualStudio10Generator(cmGlobalGenerator* gg,
cmLocalGenerator* parent);
cmLocalGenerator* parent,
cmState::Snapshot snapshot);
virtual ~cmLocalVisualStudio10Generator();