cmState: Add CreateBaseSnapshot method.

This commit is contained in:
Stephen Kelly 2015-05-31 00:18:33 +02:00
parent d3bb5da929
commit da28f11523
3 changed files with 16 additions and 5 deletions

View File

@ -659,12 +659,22 @@ void cmState::Snapshot::ComputeRelativePathTopBinary()
}
}
cmState::Snapshot cmState::CreateBaseSnapshot()
{
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::CreateSnapshot(Snapshot originSnapshot)
{
if (!originSnapshot.IsValid())
{
originSnapshot.State = this;
}
assert(originSnapshot.IsValid());
PositionType pos = this->ParentPositions.size();
this->ParentPositions.push_back(originSnapshot.Position);
this->Locations.resize(this->Locations.size() + 1);

View File

@ -57,6 +57,7 @@ public:
cmState::PositionType Position;
};
Snapshot CreateBaseSnapshot();
Snapshot CreateSnapshot(Snapshot originSnapshot);
enum CacheEntryType{ BOOL=0, PATH, FILEPATH, STRING, INTERNAL,STATIC,

View File

@ -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;