diff options
author | Brad King <brad.king@kitware.com> | 2015-06-04 13:13:31 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2015-06-04 13:13:31 (GMT) |
commit | 5a1c8806bfded9e68280542fa7573f21eb125e95 (patch) | |
tree | 79d5e41d05f8b7465000aa2f6d6ec3fa66700fac | |
parent | b49aef6b10e4c84d31c1fe48a10878109397c553 (diff) | |
parent | cf1233a0eab7cec757d2929cc7373f94ba4fa8a8 (diff) | |
download | CMake-5a1c8806bfded9e68280542fa7573f21eb125e95.zip CMake-5a1c8806bfded9e68280542fa7573f21eb125e95.tar.gz CMake-5a1c8806bfded9e68280542fa7573f21eb125e95.tar.bz2 |
Merge topic 'rename-cmState-API'
cf1233a0 cmState: Rename GetParent method.
942df88b cmState: Rename CreateSnapshot method.
da28f115 cmState: Add CreateBaseSnapshot method.
-rw-r--r-- | Source/cmLocalGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 5 | ||||
-rw-r--r-- | Source/cmState.cxx | 27 | ||||
-rw-r--r-- | Source/cmState.h | 5 | ||||
-rw-r--r-- | Source/cmake.cxx | 2 |
5 files changed, 27 insertions, 14 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index eb6b871..a16fc55 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -73,7 +73,7 @@ cmLocalGenerator::~cmLocalGenerator() bool cmLocalGenerator::IsRootMakefile() const { - return !this->StateSnapshot.GetParent().IsValid(); + return !this->StateSnapshot.GetBuildsystemDirectoryParent().IsValid(); } //---------------------------------------------------------------------------- diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 80849f5..473b7d2 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1628,7 +1628,7 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath, } cmState::Snapshot newSnapshot = this->GetState() - ->CreateSnapshot(this->StateSnapshot); + ->CreateBuildsystemDirectorySnapshot(this->StateSnapshot); // create a new local generator and set its parent cmLocalGenerator *lg2 = this->GetGlobalGenerator() @@ -4032,7 +4032,8 @@ const char *cmMakefile::GetProperty(const std::string& prop, output = ""; if (prop == "PARENT_DIRECTORY") { - cmState::Snapshot parent = this->StateSnapshot.GetParent(); + cmState::Snapshot parent = + this->StateSnapshot.GetBuildsystemDirectoryParent(); if(parent.IsValid()) { return parent.GetCurrentSourceDirectory(); diff --git a/Source/cmState.cxx b/Source/cmState.cxx index 58885d3..c6fb299 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -590,7 +590,7 @@ void cmState::Snapshot::ComputeRelativePathTopSource() snapshots.push_back(snapshot); while (true) { - snapshot = snapshot.GetParent(); + snapshot = snapshot.GetBuildsystemDirectoryParent(); if (snapshot.IsValid()) { snapshots.push_back(snapshot); @@ -622,7 +622,7 @@ void cmState::Snapshot::ComputeRelativePathTopBinary() snapshots.push_back(snapshot); while (true) { - snapshot = snapshot.GetParent(); + snapshot = snapshot.GetBuildsystemDirectoryParent(); if (snapshot.IsValid()) { snapshots.push_back(snapshot); @@ -659,12 +659,23 @@ void cmState::Snapshot::ComputeRelativePathTopBinary() } } -cmState::Snapshot cmState::CreateSnapshot(Snapshot originSnapshot) +cmState::Snapshot cmState::CreateBaseSnapshot() { - if (!originSnapshot.IsValid()) - { - originSnapshot.State = this; - } + PositionType pos = 0; + this->ParentPositions.push_back(pos); + this->Locations.resize(1); + this->OutputLocations.resize(1); + this->CurrentSourceDirectoryComponents.resize(1); + this->CurrentBinaryDirectoryComponents.resize(1); + this->RelativePathTopSource.resize(1); + this->RelativePathTopBinary.resize(1); + return cmState::Snapshot(this, pos); +} + +cmState::Snapshot +cmState::CreateBuildsystemDirectorySnapshot(Snapshot originSnapshot) +{ + assert(originSnapshot.IsValid()); PositionType pos = this->ParentPositions.size(); this->ParentPositions.push_back(originSnapshot.Position); this->Locations.resize(this->Locations.size() + 1); @@ -764,7 +775,7 @@ bool cmState::Snapshot::IsValid() const return this->State ? true : false; } -cmState::Snapshot cmState::Snapshot::GetParent() const +cmState::Snapshot cmState::Snapshot::GetBuildsystemDirectoryParent() const { Snapshot snapshot; if (!this->State || this->Position == 0) diff --git a/Source/cmState.h b/Source/cmState.h index 77a066f..60b024f 100644 --- a/Source/cmState.h +++ b/Source/cmState.h @@ -45,7 +45,7 @@ public: void SetRelativePathTopBinary(const char* dir); bool IsValid() const; - Snapshot GetParent() const; + Snapshot GetBuildsystemDirectoryParent() const; private: void ComputeRelativePathTopSource(); @@ -57,7 +57,8 @@ public: cmState::PositionType Position; }; - Snapshot CreateSnapshot(Snapshot originSnapshot); + Snapshot CreateBaseSnapshot(); + Snapshot CreateBuildsystemDirectorySnapshot(Snapshot originSnapshot); enum CacheEntryType{ BOOL=0, PATH, FILEPATH, STRING, INTERNAL,STATIC, UNINITIALIZED }; diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 6cd005e..1096a1c 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -134,7 +134,7 @@ cmake::cmake() this->Policies = new cmPolicies(); this->State = new cmState(this); - this->CurrentSnapshot = this->State->CreateSnapshot(cmState::Snapshot()); + this->CurrentSnapshot = this->State->CreateBaseSnapshot(); #ifdef __APPLE__ struct rlimit rlp; |