diff --git a/CMakeLists.txt b/CMakeLists.txt index 51fdb0e11..8f57e3194 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,6 +221,11 @@ find_package(Pyexpander) #----------------------------------------------------------------------------- # Add subdirectories +if(VTKm_ENABLE_MPI) + # This `if` is temporary and will be removed once `diy` supports building + # without MPI. + add_subdirectory(diy) +endif() add_subdirectory(vtkm) #----------------------------------------------------------------------------- diff --git a/vtkm/cont/CMakeLists.txt b/vtkm/cont/CMakeLists.txt index 723bfb571..e34ccf875 100644 --- a/vtkm/cont/CMakeLists.txt +++ b/vtkm/cont/CMakeLists.txt @@ -150,5 +150,10 @@ if(VTKm_ENABLE_CUDA) add_dependencies(vtkm_cont vtkm_cont_cuda) endif() +if(VTKm_ENABLE_MPI) + # This will become a required dependency eventually. + target_link_libraries(vtkm_cont PRIVATE diy) +endif() + #----------------------------------------------------------------------------- add_subdirectory(testing) diff --git a/vtkm/internal/CMakeLists.txt b/vtkm/internal/CMakeLists.txt index 3c7be5426..99ed7c6b7 100755 --- a/vtkm/internal/CMakeLists.txt +++ b/vtkm/internal/CMakeLists.txt @@ -28,6 +28,7 @@ set(VTKM_USE_64BIT_IDS ${VTKm_USE_64BIT_IDS}) set(VTKM_ENABLE_CUDA ${VTKm_ENABLE_CUDA}) set(VTKM_ENABLE_TBB ${VTKm_ENABLE_TBB}) +set(VTKM_ENABLE_MPI ${VTKm_ENABLE_MPI}) vtkm_get_kit_name(kit_name kit_dir) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Configure.h.in diff --git a/vtkm/internal/Configure.h.in b/vtkm/internal/Configure.h.in index 55a699f1a..95b166b63 100644 --- a/vtkm/internal/Configure.h.in +++ b/vtkm/internal/Configure.h.in @@ -263,6 +263,9 @@ #cmakedefine VTKM_ENABLE_TBB #endif +//Mark if we are building with MPI enabled. +#cmakedefine VTKM_ENABLE_MPI + #if __cplusplus >= 201103L || \ ( defined(VTKM_MSVC) && _MSC_VER >= 1800 ) || \ ( defined(VTKM_ICC) && defined(__INTEL_CXX11_MODE__) )