# CMake script for finding ParMetis
# If libraries are already defined, do nothing
IF(ParMetis_LIBRARIES AND ParMetis_INCLUDE_DIR)
SET(ParMetis_FOUND TRUE)
MESSAGE(STATUS "Found ParMetis")
ADD_DEFINITIONS(-DHAVE_PARMETIS)
RETURN()
ENDIF()
SET(ParMetis_FOUND FALSE)
MESSAGE(STATUS "Finding ParMetis")
SET(PARMETISINCLUDE
"${PARMETISROOT}/include"
"$ENV{PARMETISROOT}/include"
"$ENV{PARMETIS_ROOT}/include"
"${CMAKE_SOURCE_DIR}/parmetis/include"
INTERNAL)
# Find include
SET(PARMETIS_INCLUDENAME "parmetis.h" INTERNAL)
FIND_PATH(ParMetis_INCLUDE_DIR
NAMES
${PARMETIS_INCLUDENAME}
HINTS
${PARMETISINCLUDE}
)
SET(PARMETISLIB
"${PARMETISROOT}/lib"
"$ENV{PARMETISROOT}/lib"
"$ENV{PARMETIS_ROOT}/lib"
"${CMAKE_SOURCE_DIR}/parmetis/lib"
INTERNAL)
# Find library
FIND_LIBRARY(ParMetis_LIBRARIES
parmetis
HINTS
${PARMETISLIB}
)
IF (ParMetis_LIBRARIES AND ParMetis_INCLUDE_DIR)
SET(ParMetis_FOUND TRUE)
ADD_DEFINITIONS(-DHAVE_PARMETIS)
ENDIF()
IF (ParMetis_FOUND)
IF (NOT ParMetis_FIND_QUIETLY)
MESSAGE(STATUS "A library with ParMetis API found.")
MESSAGE(STATUS "ParMetis include dir: ${ParMetis_INCLUDE_DIR}")
MESSAGE(STATUS "ParMetis libraries: ${ParMetis_LIBRARIES}")
ENDIF()
ELSE()
IF (ParMetis_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "ParMetis libraries not found.")
ENDIF()
ENDIF()
MARK_AS_ADVANCED(
PARMETISINCLUDE
PARMETISLIB
PARMETIS_INCLUDENAME
ParMetis_INCLUDE_DIR
ParMetis_LIBRARIES
)