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
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 ()
|