diff --git a/CMakeLists.txt b/CMakeLists.txt index 01b1312284c84a2f02f0500076b3ca50d337922f..efae190259dbe130993eb92eb1bfa43c48a6e967 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -220,6 +220,34 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage") endif() +#------------------------------------------------------ +# Search for ParMETIS + +if(${MPI_FOUND}) + find_path(PARMETIS_INCLUDE_DIR parmetis.h + PATH_SUFFIX include parmetis + NO_DEFAULT_PATH + DOC "Custom include directory for parmetis.h") + find_path(PARMETIS_INCLUDE_DIR parmetis.h + PATH_SUFFIX include parmetis) + + if (EXISTS "${PARMETIS_INCLUDE_DIR}/parmetis.h") + message("-- Found parmetis.h in ${PARMETIS_INCLUDE_DIR}") + find_library(LIB_PARMETIS parmetis) + if("${LIB_PARMETIS}" STREQUAL "LIB_PARMETIS-NOTFOUND") + message(FATAL_ERROR "Could not find parmetis library") + endif() + find_library(LIB_METIS metis) + if("${LIB_PARMETIS}" STREQUAL "LIB_METIS-NOTFOUND") + message(FATAL_ERROR "Could not find metis library") + endif() + set(PARMETIS_LIBRARIES ${LIB_PARMETIS} ${LIB_METIS}) + message("-- Found parmetis/metis libraries ${PARMETIS_LIBRARIES}") + else() + message(FATAL_ERROR "Could not find parmetis.h") + endif() +endif() + # ----------------------------------------------------- link_libraries("-rdynamic") @@ -234,6 +262,7 @@ add_executable( target_link_libraries( pastis kokkos + ${PARMETIS_LIBRARIES} ${MPI_CXX_LINK_FLAGS} ${MPI_CXX_LIBRARIES} PastisUtils PastisMesh)