Skip to content

Commit d46ec1d

Browse files
committed
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 d46ec1d

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

CMakeLists.txt

+14
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ set (Seastar_DPDK_MACHINE
4545

4646
project (Seastar
4747
VERSION 1.0
48+
DESCRIPTION "Event driven asynchronous programming framework"
49+
HOMEPAGE_URL "http://seastar.io/"
4850
LANGUAGES CXX)
4951

5052
set (Seastar_ALLOC_FAILURE_INJECTION
@@ -780,6 +782,11 @@ add_library (seastar
780782
src/websocket/server.cc
781783
)
782784

785+
# Shared library soname
786+
set_target_properties(seastar PROPERTIES
787+
VERSION ${Seastar_API_LEVEL}
788+
SOVERSION ${Seastar_API_LEVEL})
789+
783790
# We disable _FORTIFY_SOURCE because it generates false positives with longjmp() (src/core/thread.cc)
784791
set_source_files_properties(src/core/thread.cc
785792
PROPERTIES COMPILE_FLAGS -U_FORTIFY_SOURCE)
@@ -1174,6 +1181,10 @@ if (Seastar_INSTALL OR Seastar_TESTING)
11741181
src/testing/seastar_test.cc
11751182
src/testing/test_runner.cc)
11761183

1184+
set_target_properties(seastar_testing PROPERTIES
1185+
VERSION ${Seastar_API_LEVEL}
1186+
SOVERSION ${Seastar_API_LEVEL})
1187+
11771188
add_library (Seastar::seastar_testing ALIAS seastar_testing)
11781189

11791190
target_compile_definitions (seastar_testing
@@ -1193,6 +1204,9 @@ if (Seastar_INSTALL OR Seastar_TESTING)
11931204
include/seastar/testing/perf_tests.hh
11941205
tests/perf/perf_tests.cc
11951206
tests/perf/linux_perf_event.cc)
1207+
set_target_properties(seastar_perf_testing PROPERTIES
1208+
VERSION ${Seastar_API_LEVEL}
1209+
SOVERSION ${Seastar_API_LEVEL})
11961210
add_library (Seastar::seastar_perf_testing ALIAS seastar_perf_testing)
11971211
target_compile_definitions (seastar_perf_testing
11981212
PRIVATE ${Seastar_PRIVATE_COMPILE_DEFINITIONS})

0 commit comments

Comments
 (0)