ENH: Do not link against libpython when possible

Michka Popoff requested to merge iMichka/vtk:vtkNoPythonLink2 into master

ENH: Do not link against libpython when possible

This is similar to what is already done in ITK and SimpleITK.

The new vtkTargetLinkLibrariesWithDynamicLookup.cmake file is slightly modified copy from ITK/CMake/itkTargetLinkLibrariesWithDynamicLookup.cmake The explanation of what this patch tries to achieve is documented in this file.

A new argument is introduced, called OPTIONAL_PYTHON_LINK. When used, the module will be optionally be linked against libpython. In the module.cmake files, most vtkPython dependencies were moved to COMPILE_DEPENDS, so that libpython is not added to the target_link_libraries() call.

The vtkPython is explicitely linked against the python libraries, as this is a python executable.

Also, the find_package calls for the PythonLibs were made optional when possible.

Fixes: #16068 (closed)

Merge request reports