diff options
Diffstat (limited to 'Source/cmComputeLinkDepends.h')
-rw-r--r-- | Source/cmComputeLinkDepends.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/Source/cmComputeLinkDepends.h b/Source/cmComputeLinkDepends.h index 1e422a6..b81f8bc 100644 --- a/Source/cmComputeLinkDepends.h +++ b/Source/cmComputeLinkDepends.h @@ -20,8 +20,11 @@ #include "cmStandardIncludes.h" #include "cmTarget.h" +#include "cmGraphAdjacencyList.h" + #include <queue> +class cmComputeComponentGraph; class cmGlobalGenerator; class cmLocalGenerator; class cmMakefile; @@ -109,16 +112,18 @@ private: void InferDependencies(); // Ordering constraint graph adjacency list. - struct EntryConstraintSet: public std::set<int> {}; - std::vector<EntryConstraintSet> EntryConstraintGraph; + typedef cmGraphNodeList NodeList; + typedef cmGraphAdjacencyList Graph; + Graph EntryConstraintGraph; + void CleanConstraintGraph(); void DisplayConstraintGraph(); // Ordering algorithm. - std::vector<int> EntryVisited; - std::set<int> EntryEmitted; - int WalkId; void OrderLinkEntires(); - void VisitLinkEntry(unsigned int i); + std::vector<char> ComponentVisited; + void DisplayComponents(cmComputeComponentGraph const& ccg); + void VisitComponent(cmComputeComponentGraph const& ccg, unsigned int i); + void EmitComponent(NodeList const& nl); void DisplayFinalEntries(); }; |