Make sure we don't leak our findmpi module
Consumers of VTK-m shouldn't use VTK-m find mpi module unless they explicitly want to. This makes sure that by default only VTK-m uses it.
This commit is contained in:
parent
45c29a0c62
commit
7092bb9210
23
CMake/VTKmCMakeBackports.cmake
Normal file
23
CMake/VTKmCMakeBackports.cmake
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
##============================================================================
|
||||||
|
## Copyright (c) Kitware, Inc.
|
||||||
|
## All rights reserved.
|
||||||
|
## See LICENSE.txt for details.
|
||||||
|
##
|
||||||
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
||||||
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
## PURPOSE. See the above copyright notice for more information.
|
||||||
|
##============================================================================
|
||||||
|
|
||||||
|
file(GLOB cmake_version_backports
|
||||||
|
LIST_DIRECTORIES true
|
||||||
|
RELATIVE "${CMAKE_CURRENT_LIST_DIR}/patches"
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/patches/*")
|
||||||
|
|
||||||
|
foreach (cmake_version_backport IN LISTS cmake_version_backports)
|
||||||
|
if (NOT IS_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/patches/${cmake_version_backport}")
|
||||||
|
continue ()
|
||||||
|
endif ()
|
||||||
|
if (CMAKE_VERSION VERSION_LESS "${cmake_version_backport}")
|
||||||
|
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}/patches/${cmake_version_backport}")
|
||||||
|
endif ()
|
||||||
|
endforeach ()
|
@ -1,24 +0,0 @@
|
|||||||
##============================================================================
|
|
||||||
## Copyright (c) Kitware, Inc.
|
|
||||||
## All rights reserved.
|
|
||||||
## See LICENSE.txt for details.
|
|
||||||
##
|
|
||||||
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
||||||
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
## PURPOSE. See the above copyright notice for more information.
|
|
||||||
##============================================================================
|
|
||||||
|
|
||||||
if(VTKm_ENABLE_MPI AND NOT TARGET MPI::MPI_CXX)
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 3.15)
|
|
||||||
#While CMake 3.10 introduced the new MPI module.
|
|
||||||
#Fixes related to MPI+CUDA that VTK-m needs are
|
|
||||||
#only found in CMake 3.15+.
|
|
||||||
find_package(MPI REQUIRED MODULE)
|
|
||||||
else()
|
|
||||||
#clunky but we need to make sure we use the upstream module if it exists
|
|
||||||
set(orig_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
|
|
||||||
set(CMAKE_MODULE_PATH "")
|
|
||||||
find_package(MPI REQUIRED MODULE)
|
|
||||||
set(CMAKE_MODULE_PATH ${orig_CMAKE_MODULE_PATH})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@ -10,9 +10,13 @@
|
|||||||
|
|
||||||
include(CMakeParseArguments)
|
include(CMakeParseArguments)
|
||||||
|
|
||||||
|
include(VTKmCMakeBackports)
|
||||||
include(VTKmDeviceAdapters)
|
include(VTKmDeviceAdapters)
|
||||||
include(VTKmCPUVectorization)
|
include(VTKmCPUVectorization)
|
||||||
include(VTKmMPI)
|
|
||||||
|
if(VTKm_ENABLE_MPI AND NOT TARGET MPI::MPI_CXX)
|
||||||
|
find_package(MPI REQUIRED MODULE)
|
||||||
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# INTERNAL FUNCTIONS
|
# INTERNAL FUNCTIONS
|
||||||
|
7
CMake/patches/README.md
Normal file
7
CMake/patches/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# CMake backports
|
||||||
|
|
||||||
|
This directory contains backports from newer CMake versions to help support
|
||||||
|
actually using older CMake versions for building VTK-m. The directory name is the
|
||||||
|
minimum version of CMake for which the contained files are no longer necessary.
|
||||||
|
For example, the files under the `3.15` directory are not needed for 3.15 or
|
||||||
|
3.16, but are for 3.14.
|
@ -266,8 +266,9 @@ if(NOT VTKm_INSTALL_ONLY_LIBRARIES)
|
|||||||
# Install helper configure files.
|
# Install helper configure files.
|
||||||
install(
|
install(
|
||||||
FILES
|
FILES
|
||||||
|
${VTKm_SOURCE_DIR}/CMake/VTKmCMakeBackports.cmake
|
||||||
${VTKm_SOURCE_DIR}/CMake/FindTBB.cmake
|
${VTKm_SOURCE_DIR}/CMake/FindTBB.cmake
|
||||||
${VTKm_SOURCE_DIR}/CMake/FindMPI.cmake
|
${VTKm_SOURCE_DIR}/CMake/patches/3.15/FindMPI.cmake
|
||||||
DESTINATION ${VTKm_INSTALL_CMAKE_MODULE_DIR}
|
DESTINATION ${VTKm_INSTALL_CMAKE_MODULE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -279,7 +280,6 @@ if(NOT VTKm_INSTALL_ONLY_LIBRARIES)
|
|||||||
${VTKm_SOURCE_DIR}/CMake/VTKmDeviceAdapters.cmake
|
${VTKm_SOURCE_DIR}/CMake/VTKmDeviceAdapters.cmake
|
||||||
${VTKm_SOURCE_DIR}/CMake/VTKmDIYUtils.cmake
|
${VTKm_SOURCE_DIR}/CMake/VTKmDIYUtils.cmake
|
||||||
${VTKm_SOURCE_DIR}/CMake/VTKmExportHeaderTemplate.h.in
|
${VTKm_SOURCE_DIR}/CMake/VTKmExportHeaderTemplate.h.in
|
||||||
${VTKm_SOURCE_DIR}/CMake/VTKmMPI.cmake
|
|
||||||
${VTKm_SOURCE_DIR}/CMake/VTKmRenderingContexts.cmake
|
${VTKm_SOURCE_DIR}/CMake/VTKmRenderingContexts.cmake
|
||||||
${VTKm_SOURCE_DIR}/CMake/VTKmWrappers.cmake
|
${VTKm_SOURCE_DIR}/CMake/VTKmWrappers.cmake
|
||||||
DESTINATION ${VTKm_INSTALL_CMAKE_MODULE_DIR}
|
DESTINATION ${VTKm_INSTALL_CMAKE_MODULE_DIR}
|
||||||
|
Loading…
Reference in New Issue
Block a user