Commit 18b6676b authored by Brad King's avatar Brad King
Browse files

cmState: Add Snapshot method to get bottom of call stack

The bottom of the call stack is always a long-lived snapshot and can be
saved for later use with cmOutputConverter.
parent 2faa8b36
......@@ -1213,6 +1213,21 @@ cmState::Snapshot cmState::Snapshot::GetCallStackParent() const
return snapshot;
cmState::Snapshot cmState::Snapshot::GetCallStackBottom() const
assert(this->Position != this->State->SnapshotData.Root());
PositionType pos = this->Position;
while (pos->SnapshotType != cmState::BaseType &&
pos->SnapshotType != cmState::BuildsystemDirectoryType &&
pos != this->State->SnapshotData.Root())
return Snapshot(this->State, pos);
void cmState::Snapshot::PushPolicy(cmPolicies::PolicyMap entry, bool weak)
PositionType pos = this->Position;
......@@ -75,6 +75,7 @@ public:
bool IsValid() const;
Snapshot GetBuildsystemDirectoryParent() const;
Snapshot GetCallStackParent() const;
Snapshot GetCallStackBottom() const;
SnapshotType GetType() const;
void SetPolicy(cmPolicies::PolicyID id, cmPolicies::PolicyStatus status);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment