diff --git a/CMakeLists.txt b/CMakeLists.txt index b100eef1737581e0f342e1d8c5eb9f0dc0849415..7e9122cc256e71c595caf90d1bcdae58fbff5c59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/tests/feature/CMakeLists.txt b/tests/feature/CMakeLists.txt index acffb26bf1f526bdb0e2f1e9d4806457c2e311f9..83c75d1dbd48fe8648054886053097b53420ec8b 100644 --- a/tests/feature/CMakeLists.txt +++ b/tests/feature/CMakeLists.txt @@ -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> - int main(void) { - #ifndef _OPENMPI - #error - #endif - return 0; - }" HAVE_OPENMPI) +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/have_openmpi.c +"#include <mpi.h> +int main(void) { +#ifndef OPEN_MPI +#error +#endif + return 0; +} +") +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