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
Showing
- Modules/CMakeGraphVizOptions.cmake 86 additions, 60 deletionsModules/CMakeGraphVizOptions.cmake
- Source/CMakeLists.txt 2 additions, 0 deletionsSource/CMakeLists.txt
- Source/cmGraphVizWriter.cxx 323 additions, 400 deletionsSource/cmGraphVizWriter.cxx
- Source/cmGraphVizWriter.h 56 additions, 37 deletionsSource/cmGraphVizWriter.h
- Source/cmLinkItemGraphVisitor.cxx 142 additions, 0 deletionsSource/cmLinkItemGraphVisitor.cxx
- Source/cmLinkItemGraphVisitor.h 75 additions, 0 deletionsSource/cmLinkItemGraphVisitor.h
- Source/cmake.cxx 3 additions, 4 deletionsSource/cmake.cxx
- Tests/RunCMake/CMakeLists.txt 1 addition, 0 deletionsTests/RunCMake/CMakeLists.txt
- Tests/RunCMake/Graphviz/CMakeGraphVizOptions.cmake.in 1 addition, 0 deletionsTests/RunCMake/Graphviz/CMakeGraphVizOptions.cmake.in
- Tests/RunCMake/Graphviz/CMakeLists.txt 3 additions, 0 deletionsTests/RunCMake/Graphviz/CMakeLists.txt
- Tests/RunCMake/Graphviz/GraphvizTestProject.cmake 58 additions, 0 deletionsTests/RunCMake/Graphviz/GraphvizTestProject.cmake
- Tests/RunCMake/Graphviz/RunCMakeTest.cmake 82 additions, 0 deletionsTests/RunCMake/Graphviz/RunCMakeTest.cmake
- Tests/RunCMake/Graphviz/default_options-check.cmake 5 additions, 0 deletionsTests/RunCMake/Graphviz/default_options-check.cmake
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_custom_targets.dot 52 additions, 0 deletions...hviz/expected_outputs/dependency_graph_custom_targets.dot
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_default_options.dot 50 additions, 0 deletions...viz/expected_outputs/dependency_graph_default_options.dot
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_no_dependers_files.dot 50 additions, 0 deletions.../expected_outputs/dependency_graph_no_dependers_files.dot
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_no_executables.dot 44 additions, 0 deletions...hviz/expected_outputs/dependency_graph_no_executables.dot
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_no_external_libs.dot 46 additions, 0 deletions...iz/expected_outputs/dependency_graph_no_external_libs.dot
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_no_graphic_libs.dot 35 additions, 0 deletions...viz/expected_outputs/dependency_graph_no_graphic_libs.dot
- Tests/RunCMake/Graphviz/expected_outputs/dependency_graph_no_interface_libs.dot 43 additions, 0 deletions...z/expected_outputs/dependency_graph_no_interface_libs.dot
Loading
Please register or sign in to comment