diff --git a/cmake/libprotobuf-lite.cmake b/cmake/libprotobuf-lite.cmake index 5e98748f607..b915f1f1d92 100644 --- a/cmake/libprotobuf-lite.cmake +++ b/cmake/libprotobuf-lite.cmake @@ -108,6 +108,7 @@ if(protobuf_BUILD_SHARED_LIBS) endif() set_target_properties(libprotobuf-lite PROPERTIES VERSION ${protobuf_VERSION} + SOVERSION 30 OUTPUT_NAME ${LIB_PREFIX}protobuf-lite DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}") add_library(protobuf::libprotobuf-lite ALIAS libprotobuf-lite) diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake index ef5a3cf593e..a9a0aef6079 100644 --- a/cmake/libprotobuf.cmake +++ b/cmake/libprotobuf.cmake @@ -125,7 +125,6 @@ if(protobuf_BUILD_SHARED_LIBS) endif() set_target_properties(libprotobuf PROPERTIES VERSION ${protobuf_VERSION} - # Use only the first SO version component for compatibility with Makefile emitted SONAME. SOVERSION 30 OUTPUT_NAME ${LIB_PREFIX}protobuf DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}") diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake index ed20f31c75a..4b967b2a2d7 100644 --- a/cmake/libprotoc.cmake +++ b/cmake/libprotoc.cmake @@ -140,6 +140,7 @@ endif() set_target_properties(libprotoc PROPERTIES COMPILE_DEFINITIONS LIBPROTOC_EXPORTS VERSION ${protobuf_VERSION} + SOVERSION 30 OUTPUT_NAME ${LIB_PREFIX}protoc DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}") add_library(protobuf::libprotoc ALIAS libprotoc) diff --git a/update_version.py b/update_version.py index 6e89555c871..61cf7e837e5 100755 --- a/update_version.py +++ b/update_version.py @@ -103,11 +103,17 @@ def RewriteTextFile(filename, line_rewriter): def UpdateCMake(): - RewriteTextFile('cmake/libprotobuf.cmake', - lambda line : re.sub( - r'SOVERSION [0-9]+\.[0-9]+(\.[0-9]+)?', - 'SOVERSION %s' % GetSharedObjectVersion()[0], - line)) + cmake_files = ( + 'cmake/libprotobuf.cmake', + 'cmake/libprotobuf-lite.cmake', + 'cmake/libprotoc.cmake' + ) + for cmake_file in cmake_files: + RewriteTextFile(cmake_file, + lambda line : re.sub( + r'SOVERSION [0-9]+\.[0-9]+(\.[0-9]+)?', + 'SOVERSION %s' % GetSharedObjectVersion()[0], + line)) def UpdateConfigure():