Skip to content

Commit 026b0ed

Browse files
committed
cmake: Fix library ABI version on Linux
This change emulates Libtool to make sure Libtool and CMake agree on the ABI version.
1 parent 04bf3f6 commit 026b0ed

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,13 @@ set_target_properties(secp256k1_precomputed PROPERTIES POSITION_INDEPENDENT_CODE
3434
target_include_directories(secp256k1 PUBLIC
3535
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
3636
)
37+
38+
# This emulates Libtool to make sure Libtool and CMake agree on the ABI version,
39+
# see below "Calculate the version variables" in build-aux/ltmain.sh.
40+
math(EXPR ${PROJECT_NAME}_soversion "${${PROJECT_NAME}_LIB_VERSION_CURRENT} - ${${PROJECT_NAME}_LIB_VERSION_AGE}")
3741
set_target_properties(secp256k1 PROPERTIES
38-
VERSION "${${PROJECT_NAME}_LIB_VERSION_CURRENT}.${${PROJECT_NAME}_LIB_VERSION_AGE}.${${PROJECT_NAME}_LIB_VERSION_REVISION}"
39-
SOVERSION "${${PROJECT_NAME}_LIB_VERSION_CURRENT}"
42+
VERSION ${${PROJECT_NAME}_soversion}.${${PROJECT_NAME}_LIB_VERSION_AGE}.${${PROJECT_NAME}_LIB_VERSION_REVISION}
43+
SOVERSION ${${PROJECT_NAME}_soversion}
4044
)
4145

4246
if(SECP256K1_BUILD_BENCHMARK)

0 commit comments

Comments
 (0)