set(INFRA exdata tuple packet_manager packet_io ip_reassembly tcp_reassembly session_manager module_manager monitor) set(DEPS bitmap dablooms interval_tree logger nmx_pool rbtree timeout toml ringbuf) set(DECODERS lpi_plus) set(WHOLE_ARCHIVE ${DEPS} ${INFRA} ${DECODERS}) set(LIBS fieldstat4) foreach(infra ${INFRA}) add_subdirectory(${infra}) endforeach() add_library(stellar_lib SHARED stellar_core.c) set_target_properties(stellar_lib PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/version.map") target_link_libraries(stellar_lib PRIVATE pthread -Wl,--whole-archive ${WHOLE_ARCHIVE} -Wl,--no-whole-archive) target_link_libraries(stellar_lib PUBLIC ${LIBS}) target_link_options(stellar_lib PRIVATE -rdynamic) set_target_properties(stellar_lib PROPERTIES OUTPUT_NAME "stellar") add_executable(stellar main.c stellar_core.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 ${LIBS}) target_link_options(stellar PRIVATE -rdynamic) install(TARGETS stellar_lib LIBRARY DESTINATION lib COMPONENT LIBRARIES) install(TARGETS stellar RUNTIME DESTINATION bin COMPONENT PROGRAM)