From: Debian Science Maintainers Date: Sun, 18 Dec 2016 11:58:14 +0000 (+0000) Subject: soname X-Git-Tag: archive/raspbian/2.7.1-2+rpi1~1^2^2^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5d9d5ee8082f742e99f51bd826dc32c401f00db6;p=dune-common.git soname Gbp-Pq: Name soname.patch --- diff --git a/cmake/modules/DuneMacros.cmake b/cmake/modules/DuneMacros.cmake index b5a913e..c558daa 100644 --- a/cmake/modules/DuneMacros.cmake +++ b/cmake/modules/DuneMacros.cmake @@ -1011,8 +1011,13 @@ endfunction(dune_expand_object_libraries) # More docu can be found at the top of this file. macro(dune_add_library basename) include(CMakeParseArguments) - cmake_parse_arguments(DUNE_LIB ";APPEND;NO_EXPORT;OBJECT" "COMPILE_FLAGS" + cmake_parse_arguments(DUNE_LIB ";APPEND;NO_EXPORT;OBJECT" "COMPILE_FLAGS;SOVERSION" "ADD_LIBS;SOURCES" ${ARGN}) + if(NOT DUNE_LIB_SOVERSION) + # If no explicit version is given, we assume the ABI is not stable and + # changes with every release. + set(DUNE_LIB_SOVERSION ${ProjectVersion}) + endif() if(DUNE_LIB_OBJECT) if(DUNE_LIB_${basename}_SOURCES) message(FATAL_ERROR "There is already a library with the name ${basename}, " @@ -1055,6 +1060,7 @@ macro(dune_add_library basename) endif() # Build library in ${PROJECT_BINARY_DIR}/lib set_target_properties(${basename} PROPERTIES + SOVERSION ${DUNE_LIB_SOVERSION} LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib" ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") @@ -1081,6 +1087,7 @@ macro(dune_add_library basename) #create shared libs add_library(${basename}-shared SHARED ${DUNE_LIB_SOURCES}) set_target_properties(${basename}-shared PROPERTIES + SOVERSION ${DUNE_LIB_SOVERSION} OUTPUT_NAME ${basename} LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") # link with specified libraries.