From 2029cdbf1c4b2724a6feb82e23af8aa9d9f0b3f4 Mon Sep 17 00:00:00 2001 From: Markus Blatt Date: Fri, 9 Dec 2022 16:01:02 +0100 Subject: [PATCH] [PATCH 2/2] Always add an soversion to the library. Gbp-Pq: Name soname.patch --- cmake/modules/DuneAddLibrary.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/modules/DuneAddLibrary.cmake b/cmake/modules/DuneAddLibrary.cmake index 98967f5..799ead5 100644 --- a/cmake/modules/DuneAddLibrary.cmake +++ b/cmake/modules/DuneAddLibrary.cmake @@ -135,7 +135,7 @@ function(dune_add_library_normal _name) cmake_parse_arguments(ARG "NO_EXPORT;NO_MODULE_LIBRARY;STATIC;SHARED;MODULE" "COMPILE_FLAGS;COMPILE_OPTIONS;OUTPUT_NAME;EXPORT_NAME" - "ADD_LIBS;LINK_LIBRARIES;SOURCES" ${ARGN}) + "ADD_LIBS;LINK_LIBRARIES;SOURCES;SOVERSION" ${ARGN}) list(APPEND ARG_SOURCES ${ARG_UNPARSED_ARGUMENTS}) dune_expand_object_libraries(ARG_SOURCES ARG_ADD_LIBS ARG_COMPILE_FLAGS) list(APPEND ARG_LINK_LIBRARIES ${ARG_ADD_LIBS}) @@ -150,6 +150,12 @@ function(dune_add_library_normal _name) set(_type "MODULE") endif() + if(NOT ARG_SOVERSION) + # If no explicit version is given, we assume the ABI is not stable and + # changes with every release. + set(ARG_SOVERSION ${ProjectVersion}) + endif() + # Create the library target add_library(${_name} ${_type} ${ARG_SOURCES}) @@ -161,6 +167,7 @@ function(dune_add_library_normal _name) # Build library in ${PROJECT_BINARY_DIR}/lib set_target_properties(${_name} PROPERTIES + SOVERSION "${ARG_SOVERSION}" LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib" ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") -- 2.30.2