33 lines
1.4 KiB
CMake
33 lines
1.4 KiB
CMake
set(MODULES log tuple packet packet_io snowflake ip_reassembly tcp_reassembly session_manager plugin_manager)
|
|
set(DEPS bitmap dablooms interval_tree nmx_pool rbtree timeout toml)
|
|
set(PLUGIN http lpi)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
add_subdirectory(log)
|
|
add_subdirectory(tuple)
|
|
add_subdirectory(packet_parser)
|
|
add_subdirectory(packet_io)
|
|
add_subdirectory(snowflake)
|
|
add_subdirectory(ip_reassembly)
|
|
add_subdirectory(tcp_reassembly)
|
|
add_subdirectory(session_manager)
|
|
add_subdirectory(plugin_manager)
|
|
add_subdirectory(core)
|
|
|
|
set(WHOLE_ARCHIVE core ${DEPS} ${MODULES} ${PLUGIN})
|
|
|
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/stellar_devel.c "")
|
|
|
|
add_library(stellar_devel SHARED stellar_devel.c)
|
|
set_target_properties(stellar_devel PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/version.map")
|
|
target_link_libraries(stellar_devel PRIVATE pthread -Wl,--whole-archive ${WHOLE_ARCHIVE} -Wl,--no-whole-archive)
|
|
target_link_options(stellar_devel PRIVATE -rdynamic)
|
|
|
|
add_executable(stellar main.c)
|
|
set_target_properties(stellar PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/version.map")
|
|
target_link_libraries(stellar PRIVATE pthread -Wl,--whole-archive ${WHOLE_ARCHIVE} -Wl,--no-whole-archive)
|
|
target_link_options(stellar PRIVATE -rdynamic)
|
|
|
|
install(TARGETS stellar_devel LIBRARY DESTINATION lib COMPONENT LIBRARIES)
|
|
install(TARGETS stellar RUNTIME DESTINATION bin COMPONENT PROGRAM) |