set(SOURCE stellar_config.cpp stellar_stat.cpp stellar_core.cpp) set(LIBRARY session_manager plugin_manager ip_reassembly packet_io snowflake packet pthread fieldstat4 toml nmx_pool) set(PLUGIN http glimpse_detector) add_library(core STATIC ${SOURCE}) target_link_libraries(core PUBLIC ${LIBRARY}) target_include_directories(core PUBLIC ${CMAKE_SOURCE_DIR}/src/utils) add_library(stellar_devel SHARED ${SOURCE}) set_target_properties(stellar_devel PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/version.map") target_link_libraries(stellar_devel PRIVATE -Wl,--whole-archive ${LIBRARY} -Wl,--no-whole-archive) target_include_directories(stellar_devel PUBLIC ${CMAKE_SOURCE_DIR}/src/utils) add_executable(stellar main.cpp) target_link_libraries(stellar PRIVATE -Wl,--whole-archive core ${LIBRARY} ${PLUGIN} -Wl,--no-whole-archive) target_link_libraries(stellar PRIVATE "-rdynamic") set_target_properties(stellar PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/version.map") install(TARGETS stellar RUNTIME DESTINATION bin COMPONENT PROGRAM) install(TARGETS stellar_devel LIBRARY DESTINATION lib COMPONENT LIBRARIES)