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.
This commit is contained in:
parent
2faa8b3620
commit
18b6676bff
|
@ -1213,6 +1213,21 @@ cmState::Snapshot cmState::Snapshot::GetCallStackParent() const
|
|||
return snapshot;
|
||||
}
|
||||
|
||||
cmState::Snapshot cmState::Snapshot::GetCallStackBottom() const
|
||||
{
|
||||
assert(this->State);
|
||||
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())
|
||||
{
|
||||
++pos;
|
||||
}
|
||||
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);
|
||||
|
|
Loading…
Reference in New Issue