diff --git a/cmake/FindParMETIS.cmake b/cmake/FindParMETIS.cmake index 340fed22c07d3314edc65e2e7a09d305e1334d0a..bf6d06c5a0de6c3cf9993fc587a1ab3fd26dd28b 100644 --- a/cmake/FindParMETIS.cmake +++ b/cmake/FindParMETIS.cmake @@ -1,17 +1,26 @@ # Looking for ParMETIS + find_path(PARMETIS_INCLUDE_DIR parmetis.h - PATH_SUFFIX include parmetis) + PATH_SUFFIX include parmetis $ENV{PARMETIS_INCDIR}) -if (EXISTS "${PARMETIS_INCLUDE_DIR}/parmetis.h") +if(EXISTS "${PARMETIS_INCLUDE_DIR}/parmetis.h") message(STATUS "Found parmetis.h in ${PARMETIS_INCLUDE_DIR}") find_library(LIB_PARMETIS parmetis ${PARMETIS_LIBDIR}) if("${LIB_PARMETIS}" STREQUAL "LIB_PARMETIS-NOTFOUND") - message("** Could not find parmetis library") + message(WARNING "** Could not find parmetis library.\n** Is PARMETIS_LIBDIR correctly set (Actual: \"$ENV{PARMETIS_LIBDIR}\")?") endif() find_library(LIB_METIS metis ${METIS_LIBDIR}) if("${LIB_PARMETIS}" STREQUAL "LIB_METIS-NOTFOUND") - message("** Could not find metis library") + message(WARNING "** Could not find metis library.\n** Is METIS_LIBDIR correctly set (Actual: \"$ENV{METIS_LIBDIR}\")?") + endif() + find_path(METIS_INCLUDE_DIR metis.h $ENV{METIS_INCDIR}) + if(EXISTS "${METIS_INCLUDE_DIR}/metis.h") + message(STATUS "Found metis.h in ${METIS_INCLUDE_DIR}") + set(PARMETIS_LIBRARIES ${LIB_PARMETIS} ${LIB_METIS}) + message(STATUS "Found parmetis/metis libraries ${PARMETIS_LIBRARIES}") + else() + message(WARNING "** Could not find metis.h.\n** Is METIS_INCDIR correctly set (Actual: \"$ENV{METIS_INCDIR}\")?") endif() include_directories(SYSTEM ${PARMETIS_INCLUDE_DIR}) include_directories(SYSTEM ${METIS_INCDIR}) @@ -20,7 +29,7 @@ if (EXISTS "${PARMETIS_INCLUDE_DIR}/parmetis.h") set(PARMETIS_LIBRARIES ${LIB_PARMETIS} ${LIB_METIS}) message(STATUS "Found parmetis/metis libraries ${PARMETIS_LIBRARIES}") else() - message("** Could not find parmetis.h") + message(WARNING "** Could not find parmetis.h.\n** Is PARMETIS_INCDIR correctly set (Actual: \"$ENV{PARMETIS_INCDIR}\")?") endif() mark_as_advanced(PARMETIS_INCLUDE_DIR PARMETIS_LIBRARIES) diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt index 6a94b6c7e97c1865802b806aaca2e369bff37197..6ab1cf774c380fa277475b3f56d740c7adfbe691 100644 --- a/src/utils/CMakeLists.txt +++ b/src/utils/CMakeLists.txt @@ -24,6 +24,11 @@ add_library( Serializer.cpp Socket.cpp) +if(${MPI_FOUND}) + target_include_directories(PugsUtils PRIVATE ${PARMETIS_INCLUDE_DIR}) + target_include_directories(PugsUtils PRIVATE ${METIS_INCLUDE_DIR}) +endif() + target_link_libraries( PugsUtils ${PETSC_LIBRARIES}