X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fcmake%2Fmodules%2FFindrdma.cmake;fp=src%2Fceph%2Fcmake%2Fmodules%2FFindrdma.cmake;h=eb31f7922c91c2124d02c03f843da87261e7e4cb;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/cmake/modules/Findrdma.cmake b/src/ceph/cmake/modules/Findrdma.cmake new file mode 100644 index 0000000..eb31f79 --- /dev/null +++ b/src/ceph/cmake/modules/Findrdma.cmake @@ -0,0 +1,49 @@ +# - Find rdma +# Find the rdma library and includes +# +# RDMA_INCLUDE_DIR - where to find ibverbs.h, etc. +# RDMA_LIBRARIES - List of libraries when using ibverbs. +# RDMA_FOUND - True if ibverbs found. + +find_path(RDMA_INCLUDE_DIR infiniband/verbs.h) + +set(RDMA_NAMES ${RDMA_NAMES} ibverbs) +find_library(RDMA_LIBRARY NAMES ${RDMA_NAMES}) + +if (RDMA_INCLUDE_DIR AND RDMA_LIBRARY) + set(RDMA_FOUND TRUE) + set(RDMA_LIBRARIES ${RDMA_LIBRARY}) +else () + set(RDMA_FOUND FALSE) + set( RDMA_LIBRARIES ) +endif () + +if (RDMA_FOUND) + message(STATUS "Found libibverbs: ${RDMA_LIBRARY}") + + include(CheckCXXSourceCompiles) + CHECK_CXX_SOURCE_COMPILES(" + #include + int main() { + struct ibv_context* ctxt; + struct ibv_exp_gid_attr gid_attr; + ibv_exp_query_gid_attr(ctxt, 1, 0, &gid_attr); + return 0; + } " HAVE_IBV_EXP) + +else () + message(STATUS "Not Found libibverbs: ${RDMA_LIBRARY}") + if (RDMA_FIND_REQUIRED) + message(STATUS "Looked for libibverbs named ${RDMA_NAMES}.") + message(FATAL_ERROR "Could NOT find libibverbs") + endif () +endif () + +# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ibverbs DEFAULT_MSG RDMA_LIBRARIES RDMA_INCLUDE_DIR) + +mark_as_advanced( + RDMA_LIBRARY +)