Skip to content

Commit 60bbb7e

Browse files
committedOct 28, 2024
build: add soname to shared libraries
Use API level as soname to enable applications to select and link agains shared libraries based on their SO versions.
1 parent 47c52cb commit 60bbb7e

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed
 

‎CMakeLists.txt

+12
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,11 @@ add_library (seastar
780780
src/websocket/server.cc
781781
)
782782

783+
# Shared library soname
784+
set_target_properties(seastar PROPERTIES
785+
VERSION ${Seastar_API_LEVEL}
786+
SOVERSION ${Seastar_API_LEVEL})
787+
783788
# We disable _FORTIFY_SOURCE because it generates false positives with longjmp() (src/core/thread.cc)
784789
set_source_files_properties(src/core/thread.cc
785790
PROPERTIES COMPILE_FLAGS -U_FORTIFY_SOURCE)
@@ -1174,6 +1179,10 @@ if (Seastar_INSTALL OR Seastar_TESTING)
11741179
src/testing/seastar_test.cc
11751180
src/testing/test_runner.cc)
11761181

1182+
set_target_properties(seastar_testing PROPERTIES
1183+
VERSION ${Seastar_API_LEVEL}
1184+
SOVERSION ${Seastar_API_LEVEL})
1185+
11771186
add_library (Seastar::seastar_testing ALIAS seastar_testing)
11781187

11791188
target_compile_definitions (seastar_testing
@@ -1193,6 +1202,9 @@ if (Seastar_INSTALL OR Seastar_TESTING)
11931202
include/seastar/testing/perf_tests.hh
11941203
tests/perf/perf_tests.cc
11951204
tests/perf/linux_perf_event.cc)
1205+
set_target_properties(seastar_perf_testing PROPERTIES
1206+
VERSION ${Seastar_API_LEVEL}
1207+
SOVERSION ${Seastar_API_LEVEL})
11961208
add_library (Seastar::seastar_perf_testing ALIAS seastar_perf_testing)
11971209
target_compile_definitions (seastar_perf_testing
11981210
PRIVATE ${Seastar_PRIVATE_COMPILE_DEFINITIONS})

0 commit comments

Comments
 (0)