[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