From 9c4161bbdb1b824dfc251af04b51276a0a4ea82e Mon Sep 17 00:00:00 2001 From: Robert K Date: Wed, 21 Jan 2015 16:33:21 +0100 Subject: [PATCH] add cmake module for ZOLTAN also, link it to alugrid if it has been detected. --- cmake/Modules/FindZOLTAN.cmake | 51 ++++++++++++++++++++++++++++ cmake/Modules/Finddune-alugrid.cmake | 1 + 2 files changed, 52 insertions(+) create mode 100644 cmake/Modules/FindZOLTAN.cmake diff --git a/cmake/Modules/FindZOLTAN.cmake b/cmake/Modules/FindZOLTAN.cmake new file mode 100644 index 000000000..e360ae9ec --- /dev/null +++ b/cmake/Modules/FindZOLTAN.cmake @@ -0,0 +1,51 @@ +# -*-cmake-*- +# +# Try to find the libzoltan graph partioning library +# +# Once done, this will define: +# +# ZOLTAN_FOUND - system has the libzoltan graph partioning library +# HAVE_ZOLTAN - like ZOLTAN_FOUND, but for the inclusion in config.h +# ZOLTAN_INCLUDE_DIR - incude paths to use libzoltan +# ZOLTAN_LIBRARIES - Link these to use libzoltan + +set(ZOLTAN_SEARCH_PATH "/usr" "/usr/local" "/opt" "/opt/local") +set(ZOLTAN_NO_DEFAULT_PATH "") +if(ZOLTAN_ROOT) + set(ZOLTAN_SEARCH_PATH "${ZOLTAN_ROOT}") + set(ZOLTAN_NO_DEFAULT_PATH "NO_DEFAULT_PATH") +endif() + +# search for files which implements this module +find_path (ZOLTAN_INCLUDE_DIRS + NAMES "zoltan.h" + PATHS ${ZOLTAN_SEARCH_PATH} + PATH_SUFFIXES "include" + ${ZOLTAN_NO_DEFAULT_PATH}) + +# only search in architecture-relevant directory +if (CMAKE_SIZEOF_VOID_P) + math (EXPR _BITS "8 * ${CMAKE_SIZEOF_VOID_P}") +endif (CMAKE_SIZEOF_VOID_P) + +find_library(ZOLTAN_LIBRARIES + NAMES "zoltan" + PATHS ${ZOLTAN_SEARCH_PATH} + PATH_SUFFIXES "lib/.libs" "lib" "lib${_BITS}" "lib/${CMAKE_LIBRARY_ARCHITECTURE}" + ${ZOLTAN_NO_DEFAULT_PATH}) + +set (ZOLTAN_FOUND FALSE) +if (ZOLTAN_INCLUDE_DIRS OR ZOLTAN_LIBRARIES) + set(ZOLTAN_FOUND TRUE) + set(HAVE_ZOLTAN 1) +endif() + +set (ZOLTAN_CONFIG_VAR HAVE_ZOLTAN) + +# print a message to indicate status of this package +include (FindPackageHandleStandardArgs) +find_package_handle_standard_args(ZOLTAN + DEFAULT_MSG + ZOLTAN_LIBRARIES + ZOLTAN_INCLUDE_DIRS + ) diff --git a/cmake/Modules/Finddune-alugrid.cmake b/cmake/Modules/Finddune-alugrid.cmake index db2d4c906..f2199a098 100644 --- a/cmake/Modules/Finddune-alugrid.cmake +++ b/cmake/Modules/Finddune-alugrid.cmake @@ -22,6 +22,7 @@ find_opm_package ( "CXX11Features REQUIRED; dune-grid REQUIRED; ZLIB REQUIRED; + ZOLTAN; METIS " # header to search for