diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ed103c8117bca3e6f6dfb6839e7af4d9acb2971..c7f2d4c0431f25074894277be025fe207bbb5cb7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,6 +112,26 @@ if (PUGS_ENABLE_MPI MATCHES "^(AUTO|ON)$") find_package(MPI) endif() + +#------------------------------------------------------ +# Search for ParMETIS + +if(${MPI_FOUND}) + find_package(ParMETIS) + if (NOT PARMETIS_LIBRARIES) + if(PUGS_ENABLE_MPI MATCHES "^AUTO$") + message(WARNING "MPI support deactivated: ParMETIS cannot be found!") + unset(MPI_FOUND) + unset(MPI_CXX_LINK_FLAGS) + unset(MPI_CXX_LIBRARIES) + else() + message(FATAL_ERROR "MPI support requires ParMETIS which cannot be found!") + endif() + endif() +endif() + +# ----------------------------------------------------- + if (${MPI_FOUND}) set(PUGS_CXX_FLAGS "${PUGS_CXX_FLAGS} ${MPI_CXX_COMPILER_FLAGS}") include_directories(SYSTEM ${MPI_CXX_INCLUDE_DIRS}) @@ -308,13 +328,6 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage") endif() endif() -#------------------------------------------------------ -# Search for ParMETIS - -if(${MPI_FOUND}) - find_package(ParMETIS REQUIRED) -endif() - # ----------------------------------------------------- link_libraries("-rdynamic")