From edc3f21a853340333a286738798ad5ea627b2cbf Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Mon, 13 Mar 2023 14:37:04 +0000 Subject: [PATCH 1/3] cmake: Fix ABI version for shared library --- src/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 26272d0950..441d5de92e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,9 +27,10 @@ target_include_directories(secp256k1 INTERFACE target_compile_definitions(secp256k1 PRIVATE $<$:DLL_EXPORT> ) +math(EXPR ${PROJECT_NAME}_soversion "${${PROJECT_NAME}_LIB_VERSION_CURRENT} - ${${PROJECT_NAME}_LIB_VERSION_AGE}") set_target_properties(secp256k1 PROPERTIES - VERSION "${${PROJECT_NAME}_LIB_VERSION_CURRENT}.${${PROJECT_NAME}_LIB_VERSION_AGE}.${${PROJECT_NAME}_LIB_VERSION_REVISION}" - SOVERSION "${${PROJECT_NAME}_LIB_VERSION_CURRENT}" + VERSION "${${PROJECT_NAME}_soversion}.${${PROJECT_NAME}_LIB_VERSION_AGE}.${${PROJECT_NAME}_LIB_VERSION_REVISION}" + SOVERSION ${${PROJECT_NAME}_soversion} ) if(SECP256K1_BUILD_SHARED) get_target_property(use_pic secp256k1 POSITION_INDEPENDENT_CODE) From 2802d34206f28aade30bedf25f9e2b324415ecea Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Mon, 13 Mar 2023 14:37:13 +0000 Subject: [PATCH 2/3] cmake: Improve MSVC output artifacts naming When using Visual Studio generator, the "lib" prefix is not added automatically. --- src/CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 441d5de92e..db43426f50 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,6 +32,11 @@ set_target_properties(secp256k1 PROPERTIES VERSION "${${PROJECT_NAME}_soversion}.${${PROJECT_NAME}_LIB_VERSION_AGE}.${${PROJECT_NAME}_LIB_VERSION_REVISION}" SOVERSION ${${PROJECT_NAME}_soversion} ) +if(MSVC) + set_target_properties(secp256k1 PROPERTIES + OUTPUT_NAME ${PROJECT_NAME} + ) +endif() if(SECP256K1_BUILD_SHARED) get_target_property(use_pic secp256k1 POSITION_INDEPENDENT_CODE) set_target_properties(precomputed PROPERTIES POSITION_INDEPENDENT_CODE ${use_pic}) @@ -46,7 +51,11 @@ add_library(secp256k1_static STATIC EXCLUDE_FROM_ALL target_include_directories(secp256k1_static INTERFACE $ ) -if(NOT MSVC) +if(MSVC) + set_target_properties(secp256k1_static PROPERTIES + OUTPUT_NAME ${PROJECT_NAME}_static + ) +else() set_target_properties(secp256k1_static PROPERTIES OUTPUT_NAME secp256k1 ) From a8d6b4f2ce288e3da393f04bbbc83317d0c5e185 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Mon, 13 Mar 2023 14:37:22 +0000 Subject: [PATCH 3/3] cmake: Add ABI version to MSVC output DLL name --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index db43426f50..45366cbcc5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -34,7 +34,7 @@ set_target_properties(secp256k1 PROPERTIES ) if(MSVC) set_target_properties(secp256k1 PROPERTIES - OUTPUT_NAME ${PROJECT_NAME} + OUTPUT_NAME ${PROJECT_NAME}-${${PROJECT_NAME}_soversion} ) endif() if(SECP256K1_BUILD_SHARED)