[CMake] Fwd: Re: ExternalProject_Add dependency graph (dot/graphviz?) ?

Micha Hergarden micha.hergarden at gmail.com
Tue Sep 23 16:05:05 EDT 2014


Hello Nicholas,

I see what you mean. I have generated a build.ninja for an external
project depeding on an external project, and the dotfile does show the
dependency. The problem seems to be that the view is somewhat cluttered
by the intermediate dependencies on custom_target etc. I guess it
depends on the level of detail you need: you only want to see high level
dependencies, but a developer that wants to know exactly what
dependencies are generated will want to see the custom_target
dependencies as well. I don't see a quick solution to this. I guess not
generating the intermediates (if this is possible at all) would mean
adapt the ninja generator; not showing the intermediates would mean
adapt ninja? I'm not familiar enough with either to help you I'm afraid.

Maybe one of the ninja generator maintainers can help you?

With kind regards,
Micha Hergarden

On 09/23/2014 09:09 PM, Nicholas Yue wrote:
> Hi Micha,
>
>   My interest is in "show me the dependencies the external project
> depends on"
>
>   I am considering migrating an in-house build system to build
> opensource projects to using CMake.
>   As there are many external packages and versions (close to 100), I'd
> like to be able to visualize their dependency.
>   Once the new system based on CMake is working, I need to build them
> for different target OS to assist in migration from current OS to
> future OS version.
>
>   e.g.
>
> ExternalProject_Add ( python264_static
>     ....
>   )
>
> ExternalProject_Add ( python264
>   DEPENDS
>   python264_static
>     ....
>   )
>
> ExternalProject_Add ( boost_1_47_0
>   DEPENDS
>   python264
>     ....
>   )
>
> ExternalProject_Add ( alembic_1_5_5
>   DEPENDS
>   python264 boost_1_47_0
>     ....
>   )
>
> Cheers
>
>
> On 23 September 2014 11:58, Micha Hergarden <micha.hergarden at gmail.com
> <mailto:micha.hergarden at gmail.com>> wrote:
>
>     On 09/22/2014 04:59 PM, Nicholas Yue wrote:
>     > Hi,
>     >
>     >     CMake has graphviz output capability for dependency within a
>     project.
>     >
>     >     Is there a way to graph dependency at the ExternalProject_Add()
>     > level ?
>     >
>     > Cheers
>     >
>     Hello Nicholas,
>
>     Can you clarify your question a bit more? Do you mean 'show me the
>     external projects a target in my project depends on' or do you mean
>     'show me the dependencies the external project depens on', or
>     something
>     different altogether?
>
>     With kind regards,
>     Micha Hergarden
>
>
>
>
> -- 
> Nicholas Yue
> Graphics - Arnold, Alembic, RenderMan, OpenGL, HDF5
> Custom Dev - C++ porting, OSX, Linux, Windows
> http://au.linkedin.com/in/nicholasyue
> https://vimeo.com/channels/naiadtools



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140923/04a0d72d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140923/04a0d72d/attachment.sig>


More information about the CMake mailing list