Skip to content

Commit

Permalink
build: use --whole-archive linker option to create a shared library f…
Browse files Browse the repository at this point in the history
…rom archives
  • Loading branch information
kanru committed Jul 14, 2024
1 parent 22cfffa commit a37bbf6
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -185,14 +185,13 @@ target_include_directories(libchewing
corrosion_set_env_vars(chewing_capi
CHEWING_DATADIR=${CMAKE_INSTALL_FULL_DATADIR}/libchewing
)
target_link_libraries(libchewing PRIVATE chewing_capi)
target_link_libraries(libchewing PRIVATE $<LINK_LIBRARY:WHOLE_ARCHIVE,$<TARGET_PROPERTY:chewing_capi,INTERFACE_LINK_LIBRARIES>>)
target_link_libraries(chewing_capi INTERFACE ${SQLite3_LIBRARIES})
if(BUILD_SHARED_LIBS)
if(CMAKE_C_COMPILER_ID MATCHES GNU|^Clang)
target_link_options(libchewing
PRIVATE LINKER:-version-script,${PROJECT_SOURCE_DIR}/capi/src/symbols-elf.map
PRIVATE LINKER:--gc-sections
PRIVATE LINKER:-u,chewing_new
)
set_target_properties(libchewing PROPERTIES
LINK_DEPENDS ${PROJECT_SOURCE_DIR}/capi/src/symbols-elf.map
Expand Down

0 comments on commit a37bbf6

Please sign in to comment.