cmake: Set correct sonames for libprotobuf-lite.so and libprotoc.so (#9529)
Soname was set for libprotobuf.so in commit a9cf69a0ed7766f56976e48a0c96300e94433511,
but similar changes for libprotobuf-lite.so and libprotoc.so were missed.
Fixes: #8635
Co-authored-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@GMail.Com>
diff --git a/cmake/libprotobuf-lite.cmake b/cmake/libprotobuf-lite.cmake
index 5e98748..b915f1f 100644
--- a/cmake/libprotobuf-lite.cmake
+++ b/cmake/libprotobuf-lite.cmake
@@ -108,6 +108,7 @@
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 ef5a3cf..a9a0aef 100644
--- a/cmake/libprotobuf.cmake
+++ b/cmake/libprotobuf.cmake
@@ -125,7 +125,6 @@
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 ed20f31..4b967b2 100644
--- a/cmake/libprotoc.cmake
+++ b/cmake/libprotoc.cmake
@@ -140,6 +140,7 @@
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 6e89555..61cf7e8 100755
--- a/update_version.py
+++ b/update_version.py
@@ -103,11 +103,17 @@
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():