@@ -5,14 +5,16 @@ include (${CMAKE_SOURCE_DIR}/cmake/version.cmake)
55include (${CMAKE_SOURCE_DIR} /cmake/common.cmake)
66include (${CMAKE_SOURCE_DIR} /cmake/workarounds.cmake)
77
8+ # Curieusement les dépendances semblent inexister avec cette version de VTK, ou ne sont pas bien prises en compte ...
9+ # => On ajoute MPI
810if (VTK_7)
911 if (USE_OPENGL_BACKEND)
10- set (VTK_REQUIRED_PACKAGES vtkRenderingLOD vtkInteractionStyle vtkFiltersHybrid vtkFiltersExtraction vtkFiltersCore vtkCommonTransforms vtkCommonMath vtkInteractionWidgets vtkImagingHybrid vtkRenderingOpenGL vtkRenderingFreeType vtkRenderingLabel vtkFiltersImaging vtkRenderingGL2PS vtkIOImage vtkIOLegacy vtkIOExportOpenGL vtkIOExport vtkIOXML vtkIOCore vtkCommonExecutionModel vtkCommonDataModel vtkRenderingAnnotation vtkFiltersSources vtkFiltersGeometry vtkFiltersGeneral vtkRenderingCore vtkCommonSystem vtkCommonCore vtkgl2ps vtkpng vtksys)
12+ set (VTK_REQUIRED_PACKAGES vtkRenderingLOD vtkInteractionStyle vtkFiltersHybrid vtkFiltersExtraction vtkFiltersCore vtkCommonTransforms vtkCommonMath vtkInteractionWidgets vtkParallelMPI vtkRenderingParallel vtkParallelCore vtkImagingHybrid vtkRenderingOpenGL vtkRenderingFreeType vtkRenderingLabel vtkFiltersImaging vtkRenderingGL2PS vtkIOImage vtkIOLegacy vtkIOExportOpenGL vtkIOExport vtkIOXML vtkIOCore vtkCommonExecutionModel vtkCommonDataModel vtkRenderingAnnotation vtkFiltersSources vtkFiltersGeometry vtkFiltersGeneral vtkRenderingCore vtkCommonSystem vtkCommonCore vtkgl2ps vtkpng vtksys)
1113 set (VTK_OPENGL_BACKEND OpenGL)
1214 else (USE_OPENGL_BACKEND)
1315 set (VTK_REQUIRED_PACKAGES vtkRenderingLOD vtkInteractionStyle vtkFiltersHybrid vtkFiltersExtraction vtkFiltersCore #
14- vtkCommonTransforms vtkCommonMath vtkInteractionWidgets #
15- vtkImagingHybrid vtkRenderingOpenGL2 vtkRenderingFreeType vtkRenderingLabel #
16+ vtkCommonTransforms vtkCommonMath vtkInteractionWidgets vtkParallelMPI vtkRenderingParallel #
17+ vtkParallelCore vtkImagingHybrid vtkRenderingOpenGL2 vtkRenderingFreeType vtkRenderingLabel #
1618 vtkFiltersImaging vtkRenderingGL2PSOpenGL2 vtkIOImage vtkIOLegacy vtkIOExportOpenGL2 vtkIOExport #
1719 vtkIOXML vtkIOCore vtkCommonExecutionModel vtkCommonDataModel vtkRenderingAnnotation vtkFiltersSources #
1820 vtkFiltersGeometry vtkFiltersGeneral vtkRenderingCore vtkCommonCore vtkgl2ps vtkpng vtksys #
@@ -24,22 +26,28 @@ if (VTK_7)
2426 find_package (VTK 7.1 REQUIRED COMPONENTS ${VTK_REQUIRED_PACKAGES} )
2527 set (VTK_LIB_DEPENDENCIES ${VTK_REQUIRED_PACKAGES} )
2628 set (VTK_INC_DEPENDENCIES ${VTK_INCLUDE_DIRS} )
29+ # Suite pb sur une plateforme :
30+ if (MPI_mpi_LIBRARY)
31+ set (VTK_LIB_DEPENDENCIES "${VTK_LIB_DEPENDENCIES} ;${MPI_mpi_LIBRARY} " )
32+ endif (MPI_mpi_LIBRARY) # if (MPI_mpi_LIBRARY)
2733elseif (VTK_8)
28- set (VTK_REQUIRED_PACKAGES vtkIOExport vtkIOImage vtkInteractionWidgets vtkRenderingOpenGL2)
34+ set (VTK_REQUIRED_PACKAGES vtkParallelMPI vtkParallelCore vtkRenderingParallel vtkIOExport vtkIOImage vtkInteractionWidgets vtkRenderingOpenGL2)
2935 find_package (VTK 8 REQUIRED COMPONENTS ${VTK_REQUIRED_PACKAGES} )
3036 include (${VTK_USE_FILE} ) # From Examples/GUI/Qt/ImageViewer/CMakeLists.txt
3137 set (VTK_LIB_DEPENDENCIES ${VTK_LIBRARIES} )
3238 set (VTK_INC_DEPENDENCIES) # Empty, not usefull with VTK 8
3339 set (VTK_OPENGL_BACKEND OpenGL2)
3440elseif (VTK_9)
3541 message (STATUS "========================================= UTILISATION DE VTK 9 =========================================" )
36- set (VTK_REQUIRED_PACKAGES IOExport IOImage InteractionWidgets RenderingOpenGL2)
42+ set (VTK_REQUIRED_PACKAGES ParallelMPI IOMPIParallel IOParallel ParallelCore ParallelMPI IOExport IOImage InteractionWidgets RenderingOpenGL2)
3743 find_package (VTK 9 REQUIRED COMPONENTS ${VTK_REQUIRED_PACKAGES} )
3844 set (VTK_LIB_DEPENDENCIES ${VTK_LIBRARIES} )
3945 set (VTK_INC_DEPENDENCIES) # Empty, not usefull with VTK 9
4046 set (VTK_OPENGL_BACKEND OpenGL2)
4147endif (VTK_7)
4248
49+ find_package (MPI)
50+
4351file (GLOB HEADERS public /${CURRENT_PACKAGE_NAME} /*.h)
4452file (GLOB CPP_SOURCES *.cpp)
4553
@@ -61,9 +69,26 @@ target_include_directories (VtkContrib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_
6169target_compile_definitions (VtkContrib PUBLIC ${VTK_CONTRIB_PUBLIC_FLAGS} )
6270target_compile_definitions (VtkContrib PRIVATE ${VTK_CONTRIB_PRIVATE_FLAGS} )
6371target_compile_options (VtkContrib PRIVATE ${SHARED_CFLAGS} ) # Requested by Qt ...
64- target_include_directories (VtkContrib PUBLIC ${VTK_INC_DEPENDENCIES} )
65- target_link_libraries (VtkContrib PUBLIC ${VTK_LIB_DEPENDENCIES} )
72+ target_include_directories (VtkContrib PUBLIC ${VTK_INC_DEPENDENCIES} ${VTK_MPI_INC_DIR} )
73+ if (VTK_MPI_CFLAGS)
74+ target_compile_options (VtkContrib PUBLIC ${VTK_MPI_CFLAGS} )
75+ endif (VTK_MPI_CFLAGS)
76+ if (VTK_MPI_LDFLAGS)
77+ target_link_options (VtkContrib PUBLIC ${VTK_MPI_LDFLAGS} )
78+ endif (VTK_MPI_LDFLAGS)
79+ target_link_libraries (VtkContrib PUBLIC ${VTK_LIB_DEPENDENCIES} ${VTK_MPI_LIBS} )
80+
6681
82+ # ============================================= ATTENTION : ZONE SENSIBLE ==============================================
83+ # On gère ici toute la misère du monde ...
84+ # EXPURGE_BEGINNING_TAG OMPI_CALC
85+ # EXPURGE_COMPLETION_TAG
86+ if (NOT ${PLATFORM} STREQUAL "Ubuntu" )
87+ if (VTK_MPI_LIB_DIR)
88+ target_link_directories (VtkContrib PUBLIC "${VTK_MPI_LIB_DIR} " ) # Probablement à revoir par la suite car entraîné par VTK
89+ endif (VTK_MPI_LIB_DIR)
90+ endif (NOT ${PLATFORM} STREQUAL "Ubuntu" )
91+ # ============================================= !ATTENTION : ZONE SENSIBLE ==============================================
6792
6893# Etre capable une fois installée de retrouver vtk*, ... :
6994# (Rem : en son absence on a Set runtime path of "/tmp/pignerol/install/lib/libVtkContrib.so.5.0.0" to "") ...
0 commit comments