🔧 build(infra CMakeLists.txt): refactor link parameter
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
set(LIBRARY session_manager plugin_manager ip_reassembly packet_io snowflake packet pthread fieldstat4 toml nmx_pool)
|
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)
|
set(PLUGIN http lpi)
|
||||||
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/infra)
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
add_subdirectory(log)
|
add_subdirectory(log)
|
||||||
add_subdirectory(tuple)
|
add_subdirectory(tuple)
|
||||||
@@ -14,10 +15,19 @@ add_subdirectory(session_manager)
|
|||||||
add_subdirectory(plugin_manager)
|
add_subdirectory(plugin_manager)
|
||||||
add_subdirectory(core)
|
add_subdirectory(core)
|
||||||
|
|
||||||
add_executable(stellar main.c)
|
set(WHOLE_ARCHIVE core ${DEPS} ${MODULES} ${PLUGIN})
|
||||||
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}/core/version.map")
|
|
||||||
|
|
||||||
install(TARGETS stellar RUNTIME DESTINATION bin COMPONENT PROGRAM)
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/stellar_devel.c "")
|
||||||
install(TARGETS stellar_devel LIBRARY DESTINATION lib COMPONENT LIBRARIES)
|
|
||||||
|
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)
|
||||||
@@ -1,9 +1,3 @@
|
|||||||
set(SOURCE stellar_config.c stellar_stat.c stellar_core.c)
|
|
||||||
|
|
||||||
add_library(core STATIC ${SOURCE})
|
|
||||||
target_link_libraries(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_library(core stellar_config.c stellar_stat.c stellar_core.c)
|
||||||
|
target_link_libraries(core PUBLIC ${MODULES})
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ target_link_libraries(
|
|||||||
gtest gmock
|
gtest gmock
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(gtest_lpi PRIVATE -Wl,--whole-archive lpi -Wl,--no-whole-archive)
|
#target_link_libraries(gtest_lpi PRIVATE -Wl,--whole-archive lpi -Wl,--no-whole-archive)
|
||||||
|
|
||||||
set(TEST_NAME "LPI_TEST")
|
set(TEST_NAME "LPI_TEST")
|
||||||
set(TEST_MAIN ${CMAKE_CURRENT_BINARY_DIR}/gtest_lpi)
|
set(TEST_MAIN ${CMAKE_CURRENT_BINARY_DIR}/gtest_lpi)
|
||||||
|
|||||||
Reference in New Issue
Block a user