CMake:For CMake Hackers: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
AntioneBual (talk | contribs) |
m (Reverted edits by AntioneBual (talk) to last revision by Alex) |
||
Line 22: | Line 22: | ||
* GRAPHVIZ_SHARED_LIBS - Export shared libs (default: ON) | * GRAPHVIZ_SHARED_LIBS - Export shared libs (default: ON) | ||
* GRAPHVIZ_MODULE_LIBS - Export modules (default: ON) | * GRAPHVIZ_MODULE_LIBS - Export modules (default: ON) | ||
* GRAPHVIZ_EXTERNAL_LIBS - Export external libs (default: ON) | * GRAPHVIZ_EXTERNAL_LIBS - Export external libs (default: ON) | ||
* GRAPHVIZ_IGNORE_TARGETS - Do not export targets in the given list. Since 2.8.5 this supports regular expressions. | * GRAPHVIZ_IGNORE_TARGETS - Do not export targets in the given list. Since 2.8.5 this supports regular expressions. | ||
* GRAPHVIZ_IGNORE_TARGETS_REGEX - Do not export targets which match the given regex. Not supported anymore since 2.8.5. | * GRAPHVIZ_IGNORE_TARGETS_REGEX - Do not export targets which match the given regex. Not supported anymore since 2.8.5. |
Revision as of 16:42, 10 August 2011
Generating Dependency Graphs with CMake
By using CMake you can automatically generate dependency graphs (dot/graphviz) of the targets in your project. This works for dependencies within the project, as well as dependencies to external libraries.
Usage
To use it, run cmake in the build tree:
cmake --graphviz=test.dot .
Customize graphviz output
The output can be customized with the following options in CMakeGraphVizOptions.cmake (located in base source directory)
graphviz options
- GRAPHVIZ_GRAPH_TYPE - default: 'digraph'
- GRAPHVIZ_GRAPH_NAME - default: 'GG'
- GRAPHVIZ_GRAPH_HEADER - default: 'node [\n fontsize = \"12\"\n];'
- GRAPHVIZ_NODE_PREFIX - default: 'node'
module inclusion config
- GRAPHVIZ_EXECUTABLES - Export executables (default: ON)
- GRAPHVIZ_STATIC_LIBS - Export static libs (default: ON)
- GRAPHVIZ_SHARED_LIBS - Export shared libs (default: ON)
- GRAPHVIZ_MODULE_LIBS - Export modules (default: ON)
- GRAPHVIZ_EXTERNAL_LIBS - Export external libs (default: ON)
- GRAPHVIZ_IGNORE_TARGETS - Do not export targets in the given list. Since 2.8.5 this supports regular expressions.
- GRAPHVIZ_IGNORE_TARGETS_REGEX - Do not export targets which match the given regex. Not supported anymore since 2.8.5.
Example output
Dependencies within CMake:
Just CMake dependencies: