diff --git a/cmake/modules/FindMETIS.cmake b/cmake/modules/FindMETIS.cmake index b9274c02c632ec04c8c63eae964011eb6f47f04f..9a22a3d33c0420c12a41aab7dae3cbe66dd249ac 100644 --- a/cmake/modules/FindMETIS.cmake +++ b/cmake/modules/FindMETIS.cmake @@ -1,6 +1,6 @@ # Accepts the following variables: # -# METIS_DIR: Prefix where ParMETIS is installed. +# METIS_ROOT: Prefix where METIS is installed. # METIS_LIB_NAME: Name of the METIS library (default: metis). # METIS_LIBRARY: Full path of the METIS library. @@ -35,12 +35,12 @@ endfunction(add_dune_metis_flags _targets) # search metis header find_path(METIS_INCLUDE_DIR metis.h - PATHS ${METIS_DIR} - PATH_SUFFIXES metis include include/metis Lib + PATHS ${METIS_DIR} ${METIS_ROOT} + PATH_SUFFIXES metis include include/metis Lib METISLib NO_DEFAULT_PATH DOC "Include directory of metis") find_path(METIS_INCLUDE_DIR metis.h - PATH_SUFFIXES metis include include/metis Lib) + PATH_SUFFIXES metis include include/metis Lib METISLib) set(METIS_LIBRARY METIS_LIBRARY-NOTFOUND CACHE FILEPATH "Full path of the METIS library") @@ -56,13 +56,21 @@ if(NOT METIS_LIB_NAME) endif(NOT METIS_LIB_NAME) find_library(METIS_LIBRARY ${METIS_LIB_NAME} - PATHS ${METIS_DIR} + PATHS ${METIS_DIR} ${METIS_ROOT} PATH_SUFFIXES lib NO_DEFAULT_PATH) find_library(METIS_LIBRARY ${METIS_LIB_NAME} PATH_SUFFIXES lib ) +# check metis library +if(METIS_LIBRARY) + list(APPEND CMAKE_REQUIRED_LIBRARIES ${METIS_LIBRARIY}) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${METIS_LIBRARY}) + include(CheckSymbolExists) + check_function_exists(METIS_PartMeshDual HAVE_METIS_PARTMESH_DUAL) +endif(METIS_LIBRARY) + # behave like a CMake module is supposed to behave include(FindPackageHandleStandardArgs) find_package_handle_standard_args( @@ -70,15 +78,9 @@ find_package_handle_standard_args( DEFAULT_MSG METIS_INCLUDE_DIR METIS_LIBRARY + HAVE_METIS_PARTMESH_DUAL ) -# check metis library -if(METIS_LIBRARY) - list(APPEND CMAKE_REQUIRED_LIBRARIES ${METIS_LIBRARIY}) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${METIS_LIBRARY}) - include(CheckSymbolExists) - check_symbol_exists(METIS_PartMeshDual metis.h METIS_FOUND) -endif(METIS_LIBRARY) cmake_pop_check_state() mark_as_advanced(METIS_INCLUDE_DIR METIS_LIBRARIES METIS_LIB_NAME)