diff --git a/libclamunrar/CMakeLists.txt b/libclamunrar/CMakeLists.txt index 70b26ba9b6..4461da6db2 100644 --- a/libclamunrar/CMakeLists.txt +++ b/libclamunrar/CMakeLists.txt @@ -70,7 +70,8 @@ if(ENABLE_SHARED_LIB) add_library( clamunrar SHARED ) set_target_properties(clamunrar PROPERTIES VERSION ${LIBCLAMAV_VERSION} - SOVERSION ${LIBCLAMAV_SOVERSION}) + SOVERSION ${LIBCLAMAV_SOVERSION} + LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libclamunrar.map) target_sources( clamunrar PRIVATE ${UNRAR_SOURCES} @@ -95,6 +96,9 @@ if(ENABLE_SHARED_LIB) if(WIN32) set_target_properties(clamunrar PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) + elseif(UNIX AND NOT APPLE) + set_target_properties(clamunrar PROPERTIES LINK_FLAGS + "-Wl,--version-script='${CMAKE_CURRENT_SOURCE_DIR}/libclamunrar.map'") endif() if(WIN32) diff --git a/libclamunrar_iface/CMakeLists.txt b/libclamunrar_iface/CMakeLists.txt index c21e500e9b..0b08dfc3ed 100644 --- a/libclamunrar_iface/CMakeLists.txt +++ b/libclamunrar_iface/CMakeLists.txt @@ -36,7 +36,8 @@ if(ENABLE_UNRAR) add_library( clamunrar_iface SHARED ) set_target_properties(clamunrar_iface PROPERTIES VERSION ${LIBCLAMAV_VERSION} - SOVERSION ${LIBCLAMAV_SOVERSION}) + SOVERSION ${LIBCLAMAV_SOVERSION} + LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libclamunrar_iface.map) target_sources( clamunrar_iface PRIVATE @@ -62,6 +63,9 @@ if(ENABLE_UNRAR) if(WIN32) set_target_properties(clamunrar_iface PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) + elseif(UNIX AND NOT APPLE) + set_target_properties(clamunrar_iface PROPERTIES LINK_FLAGS + "-Wl,--version-script='${CMAKE_CURRENT_SOURCE_DIR}/libclamunrar_iface.map'") endif() # Private (internal-only) dependencies.