This tool is able to generate a graphical representation (as a GIF file, ready to be inserted in a WEB document) of the dependency graph for a CMT package.The implementation is based on a publicly available graphical engine Graphviz that you should first download and install on your machine before trying to use cmtgrapher.
All packages are drawn as rectangles, and use relationships as colored oriented arrows. The colors used to draw the use relationships are selected randomly so as to optimize the separation between two adjacent long arrows.
Once installed, cmtgrapher has to be setup using
csh> source ${CMTROOT}/../cmtgrapher/v1r1/cmt/setup.[c]sh csh> cmtshowuses.exe[ ] A typical example of the result of this operation is :
- Download the source kit
- Expand it below the root CMT directory
csh> cd ${CMTROOT}/.. csh> gunzip cmtgrapherv1r1.tar.gz csh> tar xvf cmtgrapherv1r1.tarThis is the contents of the requirements file which is provided in the distribution kit:
package Graphviz macro Graphviz_home "" \ LAL "/lal/Grafviz" \ CERN "/afs/cern.ch/sw/contrib/CMT/Grafviz" path_remove PATH "Graphviz" path_append PATH "" \ alpha "$(Graphviz_home)/alpha/bin" \ Linux "$(Graphviz_home)/Linux/bin" \ WIN32 "C:\Program Files\Graphviz\bin" path_remove DOTFONTPATH "Grafviz" path_append DOTFONTPATH "$(Graphviz_home)/fonts/ttf"It's likely that those definitions will have to be changed.
- Configure and build it (note that the Graphviz requirements file should be customized to refer to the actual location where the graphviz external software has been installed) :
csh> cd ${CMTROOT}/.. csh> cd Graphviz/v1/cmt csh> cmt config csh> cd ${CMTROOT}/.. csh> cd cmtgrapher/v1r1/cmt csh> cmt config csh> source setup.[c]sh csh> gmake
See the Doxygen generated documentation.