1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
# - Find RDMA
# Find the New TIRPC RPC library
#
# This module accepts the following optional variables:
# RDMA_PATH_HINT = A hint on RDMA install path.
#
# This module defines the following variables:
# RDMA_FOUND = Was RDMA found or not?
# RDMA_LIBRARY = The list of libraries to link to when using RDMA
# RDMA_INCLUDE_DIR = The path to RDMA include directory(s)
#
# One can set RDMA_PATH_HINT before using find_package(RDMA) and the
# module with use the PATH as a hint to find RDMA.
# Alternatively, one can set LIBIBVERBS_PREFIX and LIBRDMACM_PREFIX to the individual
# hints for those libraries.
#
# The hint can be given on the command line too:
# cmake -DRDMA_PATH_HINT=/DATA/ERIC/RDMA /path/to/source
include(LibFindMacros)
# ibverbs
if (LIBIBVERBS_PREFIX)
set(IBVERBS_PKGCONF_INCLUDE_DIRS ${LIBIBVERBS_PREFIX}/include)
set(IBVERBS_PKGCONF_LIBRARY_DIRS ${LIBIBVERBS_PREFIX}/lib64 ${LIBIBVERBS_PREFIX}/lib)
else (LIBIBVERBS_PREFIX)
set(IBVERBS_PKGCONF_INCLUDE_DIRS ${RDMA_PATH_HINT}/include)
set(IBVERBS_PKGCONF_LIBRARY_DIRS ${RDMA_PATH_HINT}/lib64 ${RDMA_PATH_HINT}/lib)
endif (LIBIBVERBS_PREFIX)
libfind_pkg_detect(IBVERBS libibverbs FIND_PATH verbs.h PATH_SUFFIXES infiniband FIND_LIBRARY ibverbs)
libfind_process(IBVERBS)
# rdmacm
if (LIBRDMACM_PREFIX)
set(RDMACM_PKGCONF_INCLUDE_DIRS ${LIBRDMACM_PREFIX}/include)
set(RDMACM_PKGCONF_LIBRARY_DIRS ${LIBRDMACM_PREFIX}/lib64 ${LIBRDMACM_PREFIX}/lib)
else (LIBRDMACM_PREFIX)
set(RDMACM_PKGCONF_INCLUDE_DIRS ${RDMA_PATH_HINT}/include)
set(RDMACM_PKGCONF_LIBRARY_DIRS ${RDMA_PATH_HINT}/lib64 ${RDMA_PATH_HINT}/lib)
endif (LIBRDMACM_PREFIX)
libfind_pkg_detect(RDMACM librdmacm FIND_PATH rdma_cma.h PATH_SUFFIXES rdma FIND_LIBRARY rdmacm)
libfind_process(RDMACM)
if (IBVERBS_FOUND AND RDMACM_FOUND)
set(RDMA_FOUND true)
set(RDMA_LIBRARY ${IBVERBS_LIBRARY} ${RDMACM_LIBRARY})
set(RDMA_INCLUDE_DIR ${IBVERBS_INCLUDE_DIR} ${RDMACM_INCLUDE_DIR})
else (IBVERBS_FOUND AND RDMACM_FOUND)
set(RDMA_NOTFOUND true)
endif (IBVERBS_FOUND AND RDMACM_FOUND)
#if (RDMA_LIBRARY)
#libfind_version_header(RDMA version.h RDMA_VERSION)
#endif (RDMA_LIBRARY)
# handle the QUIETLY and REQUIRED arguments and set PRELUDE_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(RDMA
REQUIRED_VARS RDMA_INCLUDE_DIR RDMA_LIBRARY
VERSION_VAR RDMA_VERSION)
# VERSION FPHSA options not handled by CMake version < 2.8.2)
# VERSION_VAR)
mark_as_advanced(RDMA_INCLUDE_DIR)
mark_as_advanced(RDMA_LIBRARY)
|