[vtk-developers] New module system preview

Jean-Christophe Fillion-Robin jcfr at kitware.com
Thu Nov 8 11:32:59 EST 2018


Hi Ben,

Thanks for the update. This look very promising.

Also glad to see the "UseVTK.cmake" disappear, the use of directory
properties to handle VTK_DEFINITIONS has been the source of a lot of
trouble.


Will the new system support the following:
* Creating a VTK SDK installed in a read-only location and support building
multiple interdependent VTK external modules against it ?
* Building any VTK module either externally or along with the VTK project
?  (e.g this will be useful for creating python wheels)
* Re-using the VTK python wrapping facility without having to buy in the
VTK internal build system.

These are the limitations of the current infrastructure that I would also
like to see addressed by such a drastic change.


> build against VTK

Will the way to use find_package(VTK ...) and to specify required module
change ?

I also think updating VTK example to work with the new build system would
be a good test case, this will provide an path forward for project that
need to support both.


> `vtk.module` / `vtk.kit`  files

While this is an implementation details, would it be more sensible to
standardize on friendly for human, readable by machine and declarative by
nature format ? E.g json, toml, ..
Or may be something like the "Common Package Specification" (see
https://mwoehlke.github.io/cps/) ?



> rename OpenGL2 back to OpenGL as was the original intent?

I would prefer we do NOT to that for the next release, it's gonna make work
of user of VTK even more difficult. We are still working our way to handle
the switch of VTK major version from 9 to 8 ...

Also in the future, I anticipate we will have new version of backend.
Should the module be named after the minimum version of OpenGL it support
?  (e.g OpenGL3.2)
Or since one backend can be built at a time, should alias target be created
instead ?



Thanks
Jc



On Tue, Oct 30, 2018 at 2:16 PM David E DeMarle <dave.demarle at kitware.com>
wrote:

> +1 for rename
>
> On Tue, Oct 30, 2018, 2:09 PM Ken Martin <ken.martin at kitware.com> wrote:
>
>> So.... if we are significantly changing the modules shoudl we also take
>> the time to rename OpenGL2 back to OpenGL as was the original intent?
>>
>> On Mon, Oct 29, 2018 at 5:42 PM, Ben Boeckel <ben.boeckel at kitware.com>
>> wrote:
>>
>>> On Mon, Oct 29, 2018 at 22:31:38 +0100, Elvis Stansvik wrote:
>>> > Let me just jump in and say that while it sounds neat to embed it
>>> > comments, it might make it slightly harder to make an updated version
>>> > of Utilities/Maintenance/WhatModulesVTK.py script (which I love!).
>>>
>>> Thanks for the reminder that this file needs updated.
>>>
>>> CMake supports long-form comments now, so I'd think it'd be in blocks
>>> like this:
>>>
>>> ```cmake
>>> #[==[vtk.kit
>>> ...
>>> #]==]
>>> #[==[vtk.module
>>> ...
>>> #]==]
>>> ```
>>>
>>> with a limit of one `vtk.module` per file. Easy to slice out with a
>>> simple `sed` call. Not so easy in CMake, but also not ridiculous.
>>>
>>> This is similar to the way the new module system is documented:
>>>
>>> ```cmake
>>> #[==[.md
>>> ...
>>> #]==]
>>> ```
>>>
>>> which will make it possible to extract out these blocks and feed them to
>>> Doxygen and get the module system API docs on the web with the rest of
>>> VTK.
>>>
>>> There's also `#[==[.md INTERNAL` for internal function documentation as
>>> well.
>>>
>>> --Ben
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Search the list archives at:
>>> http://markmail.org/search/?q=vtk-developers
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>
>>>
>>
>>
>> --
>> Ken Martin PhD
>> Distinguished Engineer
>> Kitware Inc.
>> 101 East Weaver Street
>> Carrboro, North Carolina
>> 27510 USA
>>
>> This communication, including all attachments, contains confidential and
>> legally privileged information, and it is intended only for the use of the
>> addressee.  Access to this email by anyone else is unauthorized. If you are
>> not the intended recipient, any disclosure, copying, distribution or any
>> action taken in reliance on it is prohibited and may be unlawful. If you
>> received this communication in error please notify us immediately and
>> destroy the original message.  Thank you.
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>>
>> Follow this link to subscribe/unsubscribe:
>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>
>> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtk-developers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtk-developers/attachments/20181108/13c86105/attachment.html>


More information about the vtk-developers mailing list