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

Method VisitCustomCommand

Source/cmGhsMultiTargetGenerator.cxx:783–810  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

781}
782
783bool cmGhsMultiTargetGenerator::VisitCustomCommand(
784 std::set<cmSourceFile const*>& temp, std::set<cmSourceFile const*>& perm,
785 std::vector<cmSourceFile const*>& order, cmSourceFile const* si)
786{
787 /* check if permanent mark is set*/
788 if (perm.find(si) == perm.end()) {
789 /* set temporary mark; check if revisit*/
790 if (temp.insert(si).second) {
791 for (auto const& di : si->GetCustomCommand()->GetDepends()) {
792 cmSourceFile const* sf =
793 this->GeneratorTarget->GetLocalGenerator()->GetSourceFileWithOutput(
794 di);
795 /* if sf exists then visit */
796 if (sf && this->VisitCustomCommand(temp, perm, order, sf)) {
797 return true;
798 }
799 }
800 /* mark as complete; insert into beginning of list*/
801 perm.insert(si);
802 order.push_back(si);
803 return false;
804 }
805 /* revisiting item - not a DAG */
806 return true;
807 }
808 /* already complete */
809 return false;
810}

Callers 1

Calls 8

GetDependsMethod · 0.80
GetCustomCommandMethod · 0.80
push_backMethod · 0.80
findMethod · 0.45
endMethod · 0.45
insertMethod · 0.45
GetLocalGeneratorMethod · 0.45

Tested by

no test coverage detected