| publish_headers(infiniband | |
| arch.h | |
| opcode.h | |
| sa-kern-abi.h | |
| sa.h | |
| verbs.h | |
| verbs_api.h | |
| tm_types.h | |
| ) | |
| publish_internal_headers(infiniband | |
| cmd_ioctl.h | |
| cmd_write.h | |
| dmabuf_heap.h | |
| driver.h | |
| kern-abi.h | |
| marshall.h | |
| ) | |
| configure_file("libibverbs.map.in" | |
| "${CMAKE_CURRENT_BINARY_DIR}/libibverbs.map" @ONLY) | |
| rdma_library(ibverbs "${CMAKE_CURRENT_BINARY_DIR}/libibverbs.map" | |
| # See Documentation/versioning.md | |
| 1 1.19.${PACKAGE_VERSION} | |
| all_providers.c | |
| cmd.c | |
| cmd_ah.c | |
| cmd_counters.c | |
| cmd_comp_cntr.c | |
| cmd_cq.c | |
| cmd_device.c | |
| cmd_dm.c | |
| cmd_dmabuf.c | |
| cmd_dmah.c | |
| dmabuf_heap.c | |
| cmd_fallback.c | |
| cmd_flow.c | |
| cmd_flow_action.c | |
| cmd_ioctl.c | |
| cmd_mr.c | |
| cmd_mw.c | |
| cmd_pd.c | |
| cmd_qp.c | |
| cmd_rwq_ind.c | |
| cmd_srq.c | |
| cmd_wq.c | |
| cmd_xrcd.c | |
| compat-1_0.c | |
| device.c | |
| dummy_ops.c | |
| dynamic_driver.c | |
| enum_strs.c | |
| ibdev_nl.c | |
| init.c | |
| marshall.c | |
| memory.c | |
| neigh.c | |
| static_driver.c | |
| sysfs.c | |
| verbs.c | |
| ) | |
| target_link_libraries(ibverbs LINK_PRIVATE | |
| ${NL_LIBRARIES} | |
| ${CMAKE_THREAD_LIBS_INIT} | |
| ${CMAKE_DL_LIBS} | |
| kern-abi | |
| ) | |
| function(ibverbs_finalize) | |
| if (ENABLE_STATIC) | |
| # In static mode the .pc file lists all of the providers for static | |
| # linking. The user should set RDMA_STATIC_PROVIDERS to select which ones | |
| # to include. | |
| list(LENGTH RDMA_PROVIDER_LIST LEN) | |
| math(EXPR LEN ${LEN}-1) | |
| foreach(I RANGE 0 ${LEN} 2) | |
| list(GET RDMA_PROVIDER_LIST ${I} PROVIDER_NAME) | |
| math(EXPR I ${I}+1) | |
| list(GET RDMA_PROVIDER_LIST ${I} LIB_NAME) | |
| math(EXPR I ${I}+1) | |
| set(PROVIDER_LIBS "${PROVIDER_LIBS} -l${LIB_NAME}") | |
| set(FOR_EACH_PROVIDER "${FOR_EACH_PROVIDER} FOR_PROVIDER(${PROVIDER_NAME})") | |
| endforeach() | |
| if (NOT NL_KIND EQUAL 0) | |
| set(REQUIRES "libnl-3.0, libnl-route-3.0") | |
| endif() | |
| rdma_pkg_config("ibverbs" "${REQUIRES}" "${PROVIDER_LIBS} -libverbs ${CMAKE_THREAD_LIBS_INIT}") | |
| file(WRITE ${BUILD_INCLUDE}/infiniband/all_providers.h "#define FOR_EACH_PROVIDER() ${FOR_EACH_PROVIDER}") | |
| else() | |
| rdma_pkg_config("ibverbs" "" "${CMAKE_THREAD_LIBS_INIT}") | |
| endif() | |
| endfunction() |