Warning, /frameworks/kapidox/docs/depdiagrams.md is written in an unsupported language. File is not indexed.
0001 Dependency diagrams {#depdiagrams}
0002 ===================
0003
0004 ## Introduction
0005
0006 In most case, you just want to call `kapidox` with the
0007 "--dependency-diagrams" option. However, if you want finer-grained control over
0008 diagram generation or want to work on its code, read on.
0009
0010 ## depdiagram tools
0011
0012 Dependency diagram generation is done using two tools: `src/depdiagram-prepare`
0013 and `src/depdiagram-generate`. The way you use it is as follows.
0014
0015 ### 1. Prepare dot files
0016
0017 You need to prepare Graphviz dot files for all frameworks with
0018 `src/depdiagram-prepare`. You can prepare dot files for all frameworks at once
0019 using:
0020
0021 depdiagram-prepare --all ~/src/frameworks ~/dots
0022
0023 This will generate many .dot files in ~/dots.
0024
0025 Or you can prepare dot files for a single framework with:
0026
0027 depdiagram-prepare --single ~/src/frameworks/myframework ~/dots
0028
0029 ### 2. Generate the diagrams
0030
0031 You can now generate the dependency diagrams with `src/depdiagram-generate`.
0032 This tool accepts a list of dot files and outputs a combined dot file to stdout.
0033
0034 Here is how to generate a dependency diagram for all the frameworks:
0035
0036 depdiagram-generate ~/dots/*.dot | dot -Tpng > kf5.png
0037
0038 The diagram might be very hard to read though. For complex diagrams, you may
0039 want to pipe the output through the `tred` tool:
0040
0041 depdiagram-generate ~/dots/*.dot | tred | dot -Tpng > kf5.png
0042
0043 You can also generate the diagram for one particular framework using the
0044 "--framework" option:
0045
0046 depdiagram-generate ~/dots/*.dot --framework kcrash | tred | dot -Tpng > kcrash.png
0047
0048 To include Qt libs, use the "--qt" option:
0049
0050 depdiagram-generate ~/dots/tier*/*/*.dot --framework kcrash --qt | tred | dot -Tpng > kcrash.png
0051
0052 And to include targets within the framework, use the "--detailed" option:
0053
0054 depdiagram-generate ~/dots/*.dot --framework kcrash --detailed | tred | dot -Tpng > kcrash.png
0055
0056
0057 ## Useful 3rd-party tools
0058
0059 `tred`, mentioned in the previous section, reduces clutter in dot files.
0060
0061 `xdot` can be used instead of `dot` to display the graph:
0062
0063 depdiagram-generate ~/dots/*.dot --framework kcrash --qt | tred | xdot
0064
0065
0066 ## Generating all diagrams at once
0067
0068 You can use the `depdiagram-generate-all` tool to generate diagrams for all
0069 frameworks at once:
0070
0071 depdiagram-generate-all ~/dots ~/pngs
0072
0073 This command creates two pngs for each framework: "$framework.png" and
0074 "$framework-simplified.png" (same diagram, ran through `tred`). It also creates a
0075 diagram for all of the frameworks, named "kf5.png".