From 831984b51908d8c5009984b838710f1e49f98399 Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Thu, 20 Jul 2023 18:44:23 +0200 Subject: [PATCH] build: set SOVERSION to major.minor Dynarmic uses semantic versioning, restricting backwards-incompatible changes to major releases. This backwards compatibility, though, refers to API changes, and disregards ABI stability. Since having to maintain a compatible ABI between major releases is somewhat of a pain, and it arguably doesn't matter that much for dynarmic, setting the SOVERSION to major.minor allows for breaking ABI changes to be made between feature releases, and not only major ones. To be clear, this patch doesn't try to enforce a new policy, but just reflects how the project has handled ABI changes in the past. That is, these kind of changes have been made already. This patch comes as a fix for Debian bug . --- src/dynarmic/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynarmic/CMakeLists.txt b/src/dynarmic/CMakeLists.txt index 3f2f60ed..0d6068af 100644 --- a/src/dynarmic/CMakeLists.txt +++ b/src/dynarmic/CMakeLists.txt @@ -455,7 +455,7 @@ target_include_directories(dynarmic PUBLIC ) set_target_properties(dynarmic PROPERTIES VERSION ${dynarmic_VERSION} - SOVERSION ${dynarmic_VERSION_MAJOR} + SOVERSION ${dynarmic_VERSION_MAJOR}.${dynarmic_VERSION_MINOR} ) target_compile_options(dynarmic PRIVATE ${DYNARMIC_CXX_FLAGS}) target_link_libraries(dynarmic