VTK 7 builds with Qt 4 by default but we only support Qt 5, so let’s switch to that.
Also Qt changed some headers so let’s backport the VTK patch to fix the build.
Previously ldd did not show the dependencies so presumably,
VTK 9 started linking them statically after build system changes,
as hinted by the following CMake warning:
Manually-specified variables were not used by the project:
VTK_USE_SYSTEM_PNG
VTK_USE_SYSTEM_TIFF
VTK doesn't seem produce png symbols on aarch64. We could probably
figure out how to fix that but we can also just tell it to use the
libpng we already have, which already works on aarch64.
vtk: clean up / reduce code repetition
This refactors the vtk expressions to use a generic base expression,
which is used for all 3 versions.
vtk 7.x no longer uses gcc 8, since the quirk of it not building with
gcc 9 seems to have been fixed.
This also makes the python bindings available for all 3 versions, and
fixes building them for vtk 8 by adding a patch.
- also create vtk_7 as several packages don't build with 8.x:
- itk5: vtkVersion.h header not found at compile time
- ants: version in tree (2.2.0) is incompatible with 8.2
- itk4: ants depends on both vtk and itk4, so use vtk_7
- gdcm: vtk header issue
- python3Packages.vtk: Python C API compilation error with Python 3.8
- upgrade vtkWithQt4 -> vtkWithQt5
Flags that we now set globally:
- CMAKE_OSX_SYSROOT
- CMAKE_OSX_DEPLOYMENT_TARGET
can now be removed.
(cherry picked from commit 8742d5de30dfe2447c0fb56a2e7410b402effc80)
Since years I'm not maintaining anything of the list below other
than some updates when I needed them for some reason. Other people
is doing that maintenance on my behalf so I better take me out but
for very few packages. Finally!
To prevent multiple Qt libraries when developing with a custom one, the Qt
support can now be activated by directly supplying the Qt libraries as an
argument (qtLib).
qtSDK and qtFull users/developers now just have to define an override such
as the following one in order to use it inside their development
environment:
vtk.override { qtLib = qt4SDK; };
The previous behavior is still the same for vtk and vtkWithQt4 end-users.
Change-Id: I517762d4ff7de46d32cc46e6e725fd62737caa52
- Updated vtk to v5.10.0 (latest tagged release)
- Introduced a useQt4 option which allows to set the VTK_USE_QT option to true
- Added a package named vtkWithQt4 in the all-packages list
Signed-off-by: Baptist BENOIST <return_0@live.com>