Commit Graph

4 Commits

Author SHA1 Message Date
Stephan Rohmen
f7dd74e4ef Graphviz: Fix bug that shows duplicated alias targets
When using subdirectories the alias targets were duplicated
2020-08-17 21:48:47 +02:00
Stephan Rohmen
a78e991420 Tests: Cover Graphviz support for per-target dependency graph options
Issue: #20928
2020-07-21 15:02:21 -04:00
Corentin Plouet
ee5eb2eab4 Graphviz: add missing support for circular dependencies
This support was actually added by removing a superfluous check that was
too eager in cmLinkItemGraphVisitor.cxx.

Extended the existing Graphviz tests to include this particular case,
and re-generated the expected output files.

Fixes: #20720
2020-06-22 01:17:19 +10:00
Corentin Plouet
553658393c Graphviz: added test suite, fixes, enhancements
* Added a fairly comprehensive test suite
* Separated the graph traversal logic from the Graphviz generation
  code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx}
* Made the graph traversal logic less ad-hoc by using existing
  methods in the GlobalGenerator; this fixed a few bugs
* Added support for new target types: custom targets, object
  and unknown libraries
* Improved support for ALIAS libraries by showing the alias(es)
  in the graph
* Introduced new flags to control those new libraries (consistent
  with existing flags)
* Updated the documentation
* Removed useless setting to set graph type in dot file
* Improved the node/edge shapes (nicer, more consistent)
* Added a legend to the graph
* Some refactoring and cleanup of the Graphviz generation code
* Added test and fix for issue 19746
2019-10-08 13:45:56 +11:00