Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions Modules/Bridge/VtkGlue/itk-module-init.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,31 @@ if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
)
endif()

if(ITK_WRAP_PYTHON)
if(NOT VTK_WRAP_PYTHON)
message(
FATAL_ERROR
"ITK_WRAP_PYTHON is ON and Module_ITKVtkGlue is enabled, but the VTK at\n"
" ${VTK_DIR}\n"
"was built with VTK_WRAP_PYTHON=OFF. Rebuild VTK with VTK_WRAP_PYTHON=ON,\n"
"or set Module_ITKVtkGlue=OFF."
)
endif()
# VTK exports no shared/static variable, so ask an imported target directly.
if(TARGET VTK::CommonCore)
get_target_property(_vtk_common_core_type VTK::CommonCore TYPE)
if(_vtk_common_core_type STREQUAL "STATIC_LIBRARY")
message(
FATAL_ERROR
"ITK_WRAP_PYTHON is ON and Module_ITKVtkGlue is enabled, but the VTK at\n"
" ${VTK_DIR}\n"
"is a static build. Its Python wrapping collapses into a single\n"
"_vtkmodules_static module that ITK's wrapping cannot import. Rebuild VTK\n"
"with BUILD_SHARED_LIBS=ON, or set Module_ITKVtkGlue=OFF."
)
endif()
unset(_vtk_common_core_type)
endif()
endif()

set(ITKVtkGlue_VTK_LIBRARIES ${_required_vtk_libraries})
16 changes: 16 additions & 0 deletions Modules/Bridge/VtkGlue/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,19 @@ if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
REQUIRES_DISPLAY
)
endif()

# Windows has no RPATH, so VTK's DLLs must be on PATH at test time.
if(WIN32 AND TARGET VTK::CommonCore)
get_property(_vtkglue_tests DIRECTORY PROPERTY TESTS)
if(_vtkglue_tests)
set_property(
TEST
${_vtkglue_tests}
APPEND
PROPERTY
ENVIRONMENT_MODIFICATION
"PATH=path_list_prepend:$<TARGET_FILE_DIR:VTK::CommonCore>"
)
endif()
unset(_vtkglue_tests)
endif()
Loading