| publish_headers(infiniband | |
| include/infiniband/acm_prov.h | |
| ) | |
| # FIXME: Fixup the include scheme to not require all these -Is | |
| include_directories("include") | |
| include_directories("src") | |
| include_directories("linux") | |
| include_directories(${NL_INCLUDE_DIRS}) | |
| # NOTE: ibacm exports symbols from its own binary for use by ibacm | |
| rdma_sbin_executable(ibacm | |
| src/acm.c | |
| src/acm_util.c | |
| ) | |
| target_link_libraries(ibacm LINK_PRIVATE | |
| ibverbs | |
| ibumad | |
| ${NL_LIBRARIES} | |
| ${SYSTEMD_LIBRARIES} | |
| ${CMAKE_THREAD_LIBS_INIT} | |
| ${CMAKE_DL_LIBS} | |
| ) | |
| # FIXME: We should probably list the symbols we want to export.. | |
| set_target_properties(ibacm PROPERTIES ENABLE_EXPORTS TRUE) | |
| # This is a plugin module that dynamically links to ibacm | |
| add_library(ibacmp MODULE | |
| prov/acmp/src/acmp.c | |
| ) | |
| rdma_set_library_map(ibacmp "prov/acmp/src/libibacmp.map") | |
| target_link_libraries(ibacmp LINK_PRIVATE | |
| ibacm | |
| ibverbs | |
| ibumad | |
| ${CMAKE_THREAD_LIBS_INIT} | |
| ) | |
| set_target_properties(ibacmp PROPERTIES | |
| LIBRARY_OUTPUT_DIRECTORY "${BUILD_LIB}") | |
| install(TARGETS ibacmp DESTINATION "${ACM_PROVIDER_DIR}") | |
| # ACM providers are linked into a subdir so that IN_PLACE can work. | |
| file(MAKE_DIRECTORY "${BUILD_LIB}/ibacm/") | |
| rdma_create_symlink("../libibacmp.so" "${BUILD_LIB}/ibacm/libibacmp.so") | |
| rdma_executable(ib_acme | |
| src/acme.c | |
| src/libacm.c | |
| src/parse.c | |
| ) | |
| target_link_libraries(ib_acme LINK_PRIVATE | |
| ibverbs | |
| ) | |
| target_compile_definitions(ib_acme PRIVATE "-DACME_PRINTS") | |
| rdma_man_pages( | |
| man/ib_acme.1 | |
| man/ibacm.7 | |
| man/ibacm.8 | |
| man/ibacm_prov.7.in | |
| ) | |
| # FIXME: update the .init.in | |
| rdma_subst_install(FILES "ibacm.init.in" | |
| DESTINATION "${CMAKE_INSTALL_INITDDIR}" | |
| RENAME "ibacm" | |
| PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE) | |
| rdma_subst_install(FILES "ibacm.service.in" | |
| DESTINATION "${CMAKE_INSTALL_SYSTEMD_SERVICEDIR}" | |
| RENAME ibacm.service | |
| PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) | |
| install(FILES "ibacm.socket" | |
| DESTINATION "${CMAKE_INSTALL_SYSTEMD_SERVICEDIR}" | |
| RENAME ibacm.socket | |
| PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) |