# should we use our own math functions option(SUPPORT_RDMA "If support rdma" ON) # configure a header file to pass some of the CMake settings # to the source code configure_file(bus_config.h.in bus_config.h) add_library(shm_queue logger_factory.cpp socket/bus_server_socket.cpp socket/bus_server_socket_wrapper.cpp socket/shm_stream_mod_socket.cpp socket/shm_socket.cpp socket/net_conn_pool.cpp socket/shm_mod_socket.cpp socket/net_mod_server_socket_wrapper.cpp socket/net_mod_socket_wrapper.cpp socket/net_mod_socket.cpp socket/net_mod_socket_io.cpp socket/net_mod_server_socket.cpp bus_error.cpp shm/shm_mm_wrapper.cpp shm/mm.cpp shm/hashtable.cpp px_sem_util.cpp ) target_include_directories(shm_queue PUBLIC ${EXTRA_INCLUDES} ) target_include_directories(shm_queue PUBLIC ${PROJECT_BINARY_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/shm ${CMAKE_CURRENT_SOURCE_DIR}/queue ${CMAKE_CURRENT_SOURCE_DIR}/socket ) target_link_libraries(shm_queue PUBLIC ${EXTRA_LIBS} ) # install rules install(TARGETS shm_queue DESTINATION lib) install(FILES socket/socket_def.h socket/net_conn_pool.h socket/bus_server_socket.h socket/shm_socket.h socket/net_mod_socket.h socket/shm_stream_mod_socket.h socket/net_mod_server_socket_wrapper.h socket/net_mod_socket_io.h socket/net_mod_server_socket.h socket/shm_mod_socket.h socket/net_mod_socket_wrapper.h socket/bus_server_socket_wrapper.h key_def.h bus_error.h logger_factory.h queue/linked_lock_free_queue.h queue/array_lock_free_queue2.h queue/array_lock_free_queue.h queue/shm_queue.h queue/shm_queue_wrapper.h queue/lock_free_queue.h shm/hashtable.h shm/mem_pool.h shm/mm.h shm/shm_allocator.h shm/shm_mm_wraper.h DESTINATION include) install(FILES "${PROJECT_BINARY_DIR}/src/BusConfig.h" DESTINATION include )