Skip to content

Commit 862b1cb

Browse files
committed
more general MPI-3 test that works with Cray too
1 parent 3224a1a commit 862b1cb

File tree

1 file changed

+1
-34
lines changed

1 file changed

+1
-34
lines changed

cmake/mpi.cmake

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,18 @@ find_package(MPI REQUIRED COMPONENTS C Fortran)
66

77
message(STATUS "MPI Library Version: ${MPI_C_LIBRARY_VERSION_STRING}")
88

9-
# Cray FindMPI.cmake has a bug where the plain CMake variables aren't defined, only imported target is
10-
# as a workaround for the many versions of CMake where this is so, we populate them ourselves.
11-
12-
if(NOT MPI_Fortran_INCLUDE_DIRS)
13-
get_property(MPI_Fortran_INCLUDE_DIRS TARGET MPI::MPI_Fortran PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
14-
message(STATUS "workaround: MPI_Fortran_INCLUDE_DIRS: ${MPI_Fortran_INCLUDE_DIRS}")
15-
endif()
16-
if(NOT MPI_C_INCLUDE_DIRS)
17-
get_property(MPI_C_INCLUDE_DIRS TARGET MPI::MPI_C PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
18-
message(STATUS "workaround: MPI_C_INCLUDE_DIRS: ${MPI_C_INCLUDE_DIRS}")
19-
endif()
20-
if(NOT MPI_Fortran_COMPILE_OPTIONS)
21-
get_property(MPI_Fortran_COMPILE_OPTIONS TARGET MPI::MPI_Fortran PROPERTY INTERFACE_COMPILE_OPTIONS)
22-
endif()
23-
if(NOT MPI_Fortran_COMPILE_DEFINITIONS)
24-
get_property(MPI_Fortran_COMPILE_DEFINITIONS TARGET MPI::MPI_Fortran PROPERTY INTERFACE_COMPILE_DEFINITIONS)
25-
endif()
26-
if(NOT MPI_Fortran_LINK_FLAGS)
27-
get_property(MPI_Fortran_LINK_FLAGS TARGET MPI::MPI_Fortran PROPERTY INTERFACE_LINK_OPTIONS)
28-
endif()
29-
30-
find_file(mpi_f08_mod NAMES mpi_f08.mod
31-
NO_DEFAULT_PATH
32-
HINTS ${MPI_Fortran_INCLUDE_DIRS}
33-
)
34-
359
message(STATUS "${MPI_Fortran_LIBRARY_VERSION_STRING}")
3610

3711
message(STATUS "MPI_Fortran_LIBRARIES: ${MPI_Fortran_LIBRARIES}")
3812

3913
message(STATUS "MPI_Fortran_MODULE_DIR: ${MPI_Fortran_MODULE_DIR}")
4014
message(STATUS "MPI_Fortran_INCLUDE_DIRS: ${MPI_Fortran_INCLUDE_DIRS}")
41-
42-
message(STATUS "MPI_f08 module: ${mpi_f08_mod}")
4315
message(STATUS "MPI_Fortran_COMPILE_OPTIONS: ${MPI_Fortran_COMPILE_OPTIONS}")
4416
message(STATUS "MPI_Fortran_LINK_FLAGS: ${MPI_Fortran_LINK_FLAGS}")
4517

46-
if(NOT mpi_f08_mod)
47-
message(WARNING "Fortran MPI ${MPI_Fortran_VERSION} doesn't have MPI-3 Fortran mpi_f08.mod, searched using ${MPI_Fortran_INCLUDE_DIRS}")
48-
endif()
49-
5018
include(${CMAKE_CURRENT_LIST_DIR}/openmpi.cmake)
5119

52-
set(CMAKE_REQUIRED_INCLUDES ${MPI_Fortran_INCLUDE_DIRS})
53-
set(CMAKE_REQUIRED_LIBRARIES ${MPI_Fortran_LIBRARIES})
20+
set(CMAKE_REQUIRED_LIBRARIES MPI::MPI_Fortran)
5421

5522
# sometimes factory FindMPI.cmake doesn't define this
5623
check_source_compiles(Fortran

0 commit comments

Comments
 (0)