[vtk-developers] New module system preview

Elvis Stansvik elvis.stansvik at orexplore.com
Mon Oct 29 17:35:04 EDT 2018


Den mån 29 okt. 2018 kl 18:32 skrev Ben Boeckel <ben.boeckel at kitware.com>:
>
> On Mon, Oct 29, 2018 at 18:13:43 +0100, Elvis Stansvik wrote:
> > > # Add VTK_AUTOINIT defines to the targets.
> > > vtk_module_autoinit(TARGETS myexe1 myexe2 MODULES VTK::CommonCore)
> > >
> >
> > Can this not be brought in automatically via the target's interface
> > definitions?
>
> No, because the set of AUTOINIT defines depends on the modules you link.
> Linking `VTK::ChemistryOpenGL2` and `VTK::ParallelChemistry` gives a
> different AUTOINIT define than just linking `VTK::ChemistryOpenGL2`.

Aha, thanks for clarifying. I never looked closely at how these things
work. It just worked :)

Elvis

>
> > With the current setup, I'm getting them via ${VTK_DEFINITIONS} I think.
>
> This is true. Currently, it is for all modules that VTK is told to find.
>
> > Would be nice to avoid the repeated target name.
>
> I think instead of `MODULES`, it might be possible to instead rummage
> around in the link properties of the passed targets. However, looking at
> the documentation, this is not necessarily trivial to parse:
>
>     https://cmake.org/cmake/help/latest/prop_tgt/LINK_LIBRARIES.html
>
> I'll add a TODO item for it, but I imagine that it will not work for all
> possible ways to use `target_link_libraries`.
>
> --Ben


More information about the vtk-developers mailing list