You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.2 KiB
CMake

include(CMakeFindDependencyMacro)
find_dependency("Python${VTK_PYTHON_VERSION}" COMPONENTS Interpreter)
execute_process(
COMMAND "${Python${VTK_PYTHON_VERSION}_EXECUTABLE}" -c
"import mpi4py"
OUTPUT_VARIABLE _mpi4py_out
ERROR_VARIABLE _mpi4py_out
RESULT_VARIABLE _mpi4py_res)
if (_mpi4py_res)
set(mpi4py_FOUND 0)
endif ()
if (NOT mpi4py_INCLUDE_DIR OR NOT EXISTS "${mpi4py_INCLUDE_DIR}")
execute_process(
COMMAND "${Python${VTK_PYTHON_VERSION}_EXECUTABLE}" -c
"import mpi4py; print(mpi4py.get_include())"
OUTPUT_VARIABLE _mpi4py_INCLUDE_DIR
RESULT_VARIABLE _mpi4py_include_dir_res
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (_mpi4py_include_dir_res)
set(mpi4py_FOUND 0)
endif ()
set(mpi4py_INCLUDE_DIR "${_mpi4py_INCLUDE_DIR}"
CACHE INTERNAL "Path of the MPI4Py include directory")
endif ()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(mpi4py
REQUIRED_VARS mpi4py_INCLUDE_DIR)
if (mpi4py_FOUND AND NOT TARGET mpi4py::mpi4py)
add_library(mpi4py::mpi4py INTERFACE IMPORTED)
set_target_properties(mpi4py::mpi4py
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${mpi4py_INCLUDE_DIR}")
endif ()