[vtk-developers] New module system preview

Ken Martin ken.martin at kitware.com
Thu Nov 8 11:46:55 EST 2018


I figured with 9.0 people have to rewrite their CMakeLists files calls to
use vtk so it was a good time to rename OpenGL2 back to OpenGL. To wait
until the next release means we would break their builds two releases in a
row which seems worse to me.

OpenGL requires 3.2 or ES3 so you could name it vtkRenderingOpenGL3.2orES3
but I would recommend against it. I doubt we will have another C++ OpenGL
backend. The first lasted over 20 years.



On Thu, Nov 8, 2018 at 11:32 AM, Jean-Christophe Fillion-Robin <
jcfr at kitware.com> wrote:

> 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
>>> <https://maps.google.com/?q=101+East+Weaver+Street+Carrboro,+North+Carolina+%0D%0A27510+USA&entry=gmail&source=g>
>>> Carrboro, North Carolina
>>> <https://maps.google.com/?q=101+East+Weaver+Street+Carrboro,+North+Carolina+%0D%0A27510+USA&entry=gmail&source=g>
>>> 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
>>
>>


-- 
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtk-developers/attachments/20181108/517b12b3/attachment-0001.html>


More information about the vtk-developers mailing list