[cmake-developers] Compact dependency graph

Richard Ulrich ricul77 at gmail.com
Wed May 27 17:49:47 EDT 2015


Hi, this is my first post to this list.

When generating a dependency graph of a large project with many external
libraries, there are so many external libs that one doesn't see the
important dependencies any more. On top of that they have also the full
absolute path in the graph.
So with this patch, I can define regex replace rules to group the
external libraries together. The replace rule I mentioned in the
documentation gives me only one graph node for all boost libraries, only
one graph node for the visualization library, and only one node for the
numerics library...

My first implementation was using std::regex, but since cmake has to
compile with older compilers, I extracted the RegexReplace functionality
from the string processor, and put it in a new file. For the moment I
commented out the error reporting. I'm not sure how that would be
handled best. That's where I could use some input.

The current state is attached as patch files, but you can also view it
at: 
https://github.com/Kitware/CMake/compare/master...ulrichard:compact_dependency_graph

Rgds
Richard



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-started-implementing.patch
Type: text/x-patch
Size: 6111 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150527/72b066e2/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-working-prototype.patch
Type: text/x-patch
Size: 4204 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150527/72b066e2/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-compileable-with-C-98.patch
Type: text/x-patch
Size: 15779 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150527/72b066e2/attachment-0005.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150527/72b066e2/attachment-0001.sig>


More information about the cmake-developers mailing list