Skip to content
Snippets Groups Projects
Commit b35cd06e authored by Stephan Schulz's avatar Stephan Schulz
Browse files

fix OpenMPI detection in CMake

parent 2b203541
No related branches found
No related tags found
No related merge requests found
......@@ -57,9 +57,9 @@ project(ALL
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
if (CM_ALL_FORTRAN)
find_package(MPI REQUIRED COMPONENTS CXX Fortran)
find_package(MPI REQUIRED COMPONENTS C CXX Fortran)
else()
find_package(MPI REQUIRED COMPONENTS CXX)
find_package(MPI REQUIRED COMPONENTS C CXX)
endif (CM_ALL_FORTRAN)
# Prepare the Config.cmake.in
......
......@@ -11,15 +11,23 @@ set(OUTPUTDIR .)
set(KNOWNGOOD ${CMAKE_CURRENT_SOURCE_DIR}/knowngood)
# check if openmpi variable in mpi.h is set to find out, if
# MPI version is openmpi based
include(CheckCSourceCompiles)
check_c_source_compiles(
"include <mpi.h>
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/have_openmpi.c
"#include <mpi.h>
int main(void) {
#ifndef _OPENMPI
#ifndef OPEN_MPI
#error
#endif
return 0;
}" HAVE_OPENMPI)
}
")
try_compile(HAVE_OPENMPI
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}/have_openmpi.c
LINK_LIBRARIES MPI::MPI_C
OUTPUT_VARIABLE _try_out)
if(NOT HAVE_OPENMPI)
message(FATAL_ERROR "DID NOT FIND OPENMPI\n\n${_try_out}")
endif()
include(FindUnixCommands)
foreach( FEATURE
ALL_Staggered
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment