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

Method Compute

Source/cmComputeTargetDepends.cxx:113–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

111cmComputeTargetDepends::~cmComputeTargetDepends() = default;
112
113bool cmComputeTargetDepends::Compute()
114{
115 // Build the original graph.
116 this->CollectTargets();
117 this->CollectDepends();
118 if (this->DebugMode) {
119 this->DisplayGraph(this->InitialGraph, "initial");
120 }
121 cmComputeComponentGraph ccg1(this->InitialGraph);
122 ccg1.Compute();
123 if (!this->CheckComponents(ccg1)) {
124 return false;
125 }
126
127 // Compute the intermediate graph.
128 this->CollectSideEffects();
129 this->ComputeIntermediateGraph();
130 if (this->DebugMode) {
131 this->DisplaySideEffects();
132 this->DisplayGraph(this->IntermediateGraph, "intermediate");
133 }
134
135 // Identify components.
136 cmComputeComponentGraph ccg2(this->IntermediateGraph);
137 ccg2.Compute();
138 if (this->DebugMode) {
139 this->DisplayComponents(ccg2, "intermediate");
140 }
141 if (!this->CheckComponents(ccg2)) {
142 return false;
143 }
144
145 // Compute the final dependency graph.
146 if (!this->ComputeFinalDepends(ccg2)) {
147 return false;
148 }
149 if (this->DebugMode) {
150 this->DisplayGraph(this->FinalGraph, "final");
151 }
152
153 return true;
154}
155
156void cmComputeTargetDepends::GetTargetDirectDepends(cmGeneratorTarget const* t,
157 cmTargetDependSet& deps)

Callers

nothing calls this directly

Calls 9

CollectTargetsMethod · 0.95
CollectDependsMethod · 0.95
DisplayGraphMethod · 0.95
CheckComponentsMethod · 0.95
CollectSideEffectsMethod · 0.95
DisplaySideEffectsMethod · 0.95
DisplayComponentsMethod · 0.95
ComputeFinalDependsMethod · 0.95

Tested by

no test coverage detected