diff --git a/CMakeLists.txt b/CMakeLists.txt index 468a1bd7af1726b60238f1e2e856a8a055a97098..28857123a654e2f23c8794936f0bad931fb8b4f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -891,41 +891,24 @@ endif(WALBERLA_ENABLE_GUI) ## ############################################################################################################################ +if ( WALBERLA_BUILD_WITH_PARMETIS ) + # metis is required for parmetis + set( WALBERLA_BUILD_WITH_METIS TRUE FORCE ) +endif () + if ( WALBERLA_BUILD_WITH_METIS ) - find_package ( Metis QUIET ) + find_package( Metis REQUIRED ) - if ( METIS_FOUND ) - include_directories( ${METIS_INCLUDE_DIRS} ) - link_directories ( ${METIS_LIBRARY_DIR} ) - list ( APPEND SERVICE_LIBS ${METIS_LIBRARIES} ) - set ( WALBERLA_BUILD_WITH_METIS TRUE ) - else() - set ( WALBERLA_BUILD_WITH_METIS OFF CACHE BOOL "Build with metis graph partitioner" FORCE ) - endif() -else() - set ( METIS_FOUND OFF CACHE BOOL "Metis found" FORCE ) -endif() + include_directories( ${METIS_INCLUDE_DIRS} ) + list( APPEND SERVICE_LIBS ${METIS_LIBRARIES} ) +endif() if ( WALBERLA_BUILD_WITH_PARMETIS ) - find_path(PARMETIS_INCLUDE_DIR parmetis.h - /usr/local/include - /usr/include - ${PARMETIS_ROOT}/include - $ENV{PARMETIS_ROOT}/include - ) - - find_library(PARMETIS_LIBRARY parmetis - /usr/local/lib - /usr/lib - ${PARMETIS_ROOT}/lib - $ENV{PARMETIS_ROOT}/lib - ) - - if( PARMETIS_INCLUDE_DIR AND PARMETIS_LIBRARY AND METIS_LIBRARY ) - include_directories( ${PARMETIS_INCLUDE_DIR} ) - list ( APPEND SERVICE_LIBS ${PARMETIS_LIBRARY} ${METIS_LIBRARY} ) - endif() + find_package( Parmetis REQUIRED ) + + include_directories( ${PARMETIS_INCLUDE_DIR} ) + list( APPEND SERVICE_LIBS ${PARMETIS_LIBRARY} ) endif() ############################################################################################################################ diff --git a/cmake/FindParmetis.cmake b/cmake/FindParmetis.cmake new file mode 100644 index 0000000000000000000000000000000000000000..427e27673bdf352cf5ce81acd08d71639818564d --- /dev/null +++ b/cmake/FindParmetis.cmake @@ -0,0 +1,9 @@ +find_path (PARMETIS_INCLUDE_DIR parmetis.h) +find_library (PARMETIS_LIBRARY NAMES parmetis) + +# handle the QUIETLY and REQUIRED arguments and set PFFT_FOUND to TRUE if +# all listed variables are TRUE +include (FindPackageHandleStandardArgs) +find_package_handle_standard_args (Parmetis DEFAULT_MSG PARMETIS_LIBRARY PARMETIS_INCLUDE_DIR) + +mark_as_advanced (PARMETIS_LIBRARY PARMETIS_INCLUDE_DIR) \ No newline at end of file