[vtk-developers] [ANNOUNCE] New module system landing
Andras Lasso
lasso at queensu.ca
Mon Feb 4 11:04:01 EST 2019
> One difference is that it will be provided on-demand only
Yes, sure, this could be written to a CMake variable and printed to the console when there is warning or error in module configuration (or when some verbosity CMake flag is set).
Andras
-----Original Message-----
From: Ben Boeckel <ben.boeckel at kitware.com>
Sent: Monday, February 4, 2019 10:59 AM
To: Andras Lasso <lasso at queensu.ca>
Cc: David Thompson <david.thompson at kitware.com>; VTK Developers <vtk-developers at vtk.org>; David Gobbi <david.gobbi at gmail.com>; Jean-Christophe Fillion-Robin <jcfr at kitware.com>
Subject: Re: [vtk-developers] [ANNOUNCE] New module system landing
On Mon, Feb 04, 2019 at 15:31:22 +0000, Andras Lasso wrote:
> I just wanted to clarify that application developers only need YES and
> DONT_WANT states for VTK modules. If the other states are required
> internally in VTK (for example, for VTK automatic tests) then it's
> fine, but please try to keep the VTK's public CMake configuration API
> simple.
That can be provided. An option to `vtk_module_scan` to provide a limited set of values for the `STRINGS` property can be done.
> > Right now it says "X requires disabled module Y". What's missing is
> > information of the link between X and Y for figuring out how to fix
> > it.
>
> Dependency graph printing feature of CTK fixes this. See an example
> below how external project dependency graph is printed during
> application configuration. @jcfr can give you more details on how this
> works and could be adapted to VTK modules.
One difference is that it will be provided on-demand only. I personally find such configure output to be noise for general reconfigures and can take up a substantial amount of configure time to format and write. VTK now re-configures in under 10 seconds on my machine; I'd like to avoid having that start to creep up for information useful only sometimes.
For anyone interested in implementing it, the dependency logic is all in `vtk_module_scan` after the topological sort into `_vtk_scan_all_modules`.
--Ben
More information about the vtk-developers
mailing list