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

Method FindConflicts

Source/cmOrderDirectories.cxx:427–451  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

425};
426
427void cmOrderDirectories::FindConflicts()
428{
429 // Allocate the conflict graph.
430 this->ConflictGraph.resize(this->OriginalDirectories.size());
431 this->DirectoryVisited.resize(this->OriginalDirectories.size(), 0);
432
433 // Find directories conflicting with each entry.
434 for (unsigned int i = 0; i < this->ConstraintEntries.size(); ++i) {
435 this->ConstraintEntries[i]->FindConflicts(i);
436 }
437
438 // Clean up the conflict graph representation.
439 for (ConflictList& cl : this->ConflictGraph) {
440 // Sort the outgoing edges for each graph node so that the
441 // original order will be preserved as much as possible.
442 std::sort(cl.begin(), cl.end());
443
444 // Make the edge list unique so cycle detection will be reliable.
445 auto last = std::unique(cl.begin(), cl.end(), cmOrderDirectoriesCompare());
446 cl.erase(last, cl.end());
447 }
448
449 // Check items in implicit link directories.
450 this->FindImplicitConflicts();
451}
452
453void cmOrderDirectories::FindImplicitConflicts()
454{

Callers 1

Calls 7

FindImplicitConflictsMethod · 0.95
eraseMethod · 0.80
resizeMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected