MCPcopy Create free account
hub / github.com/Kitware/CMake / CreateBuildsystemDirectorySnapshot

Method CreateBuildsystemDirectorySnapshot

Source/cmState.cxx:896–928  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

894}
895
896cmStateSnapshot cmState::CreateBuildsystemDirectorySnapshot(
897 cmStateSnapshot const& originSnapshot)
898{
899 assert(originSnapshot.IsValid());
900 cmStateDetail::PositionType pos =
901 this->SnapshotData.Push(originSnapshot.Position);
902 pos->DirectoryParent = originSnapshot.Position;
903 pos->ScopeParent = originSnapshot.Position;
904 pos->SnapshotType = cmStateEnums::BuildsystemDirectoryType;
905 pos->Keep = true;
906 pos->BuildSystemDirectory = this->BuildsystemDirectory.Push(
907 originSnapshot.Position->BuildSystemDirectory);
908 pos->ExecutionListFile =
909 this->ExecutionListFiles.Push(originSnapshot.Position->ExecutionListFile);
910 pos->BuildSystemDirectory->CurrentScope = pos;
911 pos->Policies = originSnapshot.Position->Policies;
912 pos->PolicyRoot = originSnapshot.Position->Policies;
913 pos->PolicyScope = originSnapshot.Position->Policies;
914 assert(pos->Policies.IsValid());
915 assert(pos->PolicyRoot.IsValid());
916
917 cmLinkedTree<cmDefinitions>::iterator origin = originSnapshot.Position->Vars;
918 pos->Parent = origin;
919 pos->Root = origin;
920 pos->Vars = this->VarTree.Push(origin);
921
922 cmStateSnapshot snapshot = cmStateSnapshot(this, pos);
923 originSnapshot.Position->BuildSystemDirectory->Children.push_back(snapshot);
924 snapshot.SetDefaultDefinitions();
925 snapshot.InitializeFromParent();
926 snapshot.SetDirectoryDefinitions();
927 return snapshot;
928}
929
930cmStateSnapshot cmState::CreateDeferCallSnapshot(
931 cmStateSnapshot const& originSnapshot, std::string const& fileName)

Callers 1

AddSubDirectoryMethod · 0.80

Calls 7

PushMethod · 0.80
push_backMethod · 0.80
SetDefaultDefinitionsMethod · 0.80
cmStateSnapshotClass · 0.70
IsValidMethod · 0.45
InitializeFromParentMethod · 0.45

Tested by

no test coverage detected