fixes linker isseu using whole-archive

This commit is contained in:
2023-07-19 08:19:38 +02:00
parent 94e46b9968
commit edba497fa1
2 changed files with 40 additions and 3 deletions

View File

@@ -1,10 +1,12 @@
cmake_minimum_required(VERSION 3.12)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
###############################################################################
#
###############################################################################
project(dbt-rise-tgc VERSION 1.0.0)
include(GNUInstallDirs)
include(flink)
find_package(elfio QUIET)
find_package(Boost COMPONENTS coroutine)
@@ -82,8 +84,8 @@ if(TARGET jsoncpp::jsoncpp)
else()
target_link_libraries(${PROJECT_NAME} PUBLIC jsoncpp)
endif()
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND BUILD_SHARED_LIBS)
target_link_libraries(${PROJECT_NAME} PUBLIC -Wl,--whole-archive dbt-rise-core -Wl,--no-whole-archive)
if(BUILD_SHARED_LIBS)
target_force_link_libraries(${PROJECT_NAME} PUBLIC dbt-rise-core)
else()
target_link_libraries(${PROJECT_NAME} PUBLIC dbt-rise-core)
endif()
@@ -154,7 +156,7 @@ if(WITH_TCC)
target_compile_definitions(${PROJECT_NAME} PRIVATE WITH_TCC)
endif()
# Links the target exe against the libraries
target_link_libraries(${PROJECT_NAME} PUBLIC dbt-rise-tgc)
target_force_link_libraries(${PROJECT_NAME} PUBLIC dbt-rise-tgc)
if(TARGET Boost::program_options)
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::program_options)
else()