set(SOURCE stellar_config.cpp stellar_stat.cpp stellar_core.cpp)
set(LIBRARY times session_manager plugin_manager ip_reassembly packet_io packet pthread fieldstat4 toml)
add_library(stellar_core STATIC ${SOURCE})
target_link_libraries(stellar_core PUBLIC ${LIBRARY})
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)
add_executable(stellar main.cpp)
target_link_libraries(stellar PRIVATE -Wl,--whole-archive stellar_core ${LIBRARY} -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)