summaryrefslogtreecommitdiff
path: root/Source/cmLocalGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r--Source/cmLocalGenerator.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 2f2da20da8..c099a4d9ea 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -51,6 +51,13 @@ cmLocalGenerator::cmLocalGenerator(cmGlobalGenerator* gg,
if (parent)
{
parent->AddChild(this);
+ this->StateSnapshot =
+ this->GetState()->CreateSnapshot(parent->StateSnapshot);
+ }
+ else
+ {
+ this->StateSnapshot =
+ this->GetState()->CreateSnapshot(cmState::Snapshot(this->GetState()));
}
this->Makefile = new cmMakefile(this);
@@ -573,6 +580,16 @@ void cmLocalGenerator::GenerateTargetManifest()
}
}
+cmState* cmLocalGenerator::GetState() const
+{
+ return this->GlobalGenerator->GetCMakeInstance()->GetState();
+}
+
+cmState::Snapshot cmLocalGenerator::GetStateSnapshot() const
+{
+ return this->StateSnapshot;
+}
+
void cmLocalGenerator::AddCustomCommandToCreateObject(const char* ofname,
const std::string& lang,
cmSourceFile& source,