From aa25435ea0079470a7f1bc80ab4b2bb4506872d5 Mon Sep 17 00:00:00 2001 From: Debian Science Maintainers Date: Thu, 21 Jun 2018 08:17:17 +0100 Subject: [PATCH] soname Gbp-Pq: Name soname.patch --- cmake/modules/DuneMacros.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/modules/DuneMacros.cmake b/cmake/modules/DuneMacros.cmake index 5b2ff2c..2fc46bb 100644 --- a/cmake/modules/DuneMacros.cmake +++ b/cmake/modules/DuneMacros.cmake @@ -1019,8 +1019,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}, " @@ -1063,6 +1068,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") @@ -1089,6 +1095,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. -- 2.30.2