From c212d7cb32b8e645e57d682c7f2dd1386c3df79f Mon Sep 17 00:00:00 2001 From: sL1pKn07 Date: Wed, 11 Mar 2020 16:32:13 +0100 Subject: [PATCH] Add SOVERSION when build shared libmxnet.so library https://en.wikipedia.org/wiki/Soname https://cmake.org/cmake/help/latest/prop_tgt/SOVERSION.html --- CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5806883b8a44..4bc5e6fec85a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,14 @@ cmake_minimum_required(VERSION 3.13) +file(READ "include/mxnet/base.h" ver) +string(REGEX MATCH "MXNET_MAJOR ([0-9]*)" _ ${ver}) +set(ver_major ${CMAKE_MATCH_1}) +string(REGEX MATCH "MXNET_MINOR ([0-9]*)" _ ${ver}) +set(ver_minor ${CMAKE_MATCH_1}) +string(REGEX MATCH "MXNET_PATCH ([0-9]*)" _ ${ver}) +set(ver_patch ${CMAKE_MATCH_1}) +set(_PROJECT_VERSION "${ver_major}.${ver_minor}.${ver_patch}") + # workaround to store CMAKE_CROSSCOMPILING because is getting reset by the project command if(CMAKE_CROSSCOMPILING) set(__CMAKE_CROSSCOMPILING ${CMAKE_CROSSCOMPILING}) @@ -704,6 +713,8 @@ if(UNIX) target_link_libraries(mxnet PRIVATE mxnet_static) target_link_libraries(mxnet_static PUBLIC ${CMAKE_DL_LIBS}) set_target_properties(mxnet_static PROPERTIES OUTPUT_NAME mxnet) + set_target_properties(mxnet PROPERTIES VERSION "${ver_major}.${ver_minor}.${ver_patch}") + set_target_properties(mxnet PROPERTIES SOVERSION "${ver_major}") if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") target_compile_options(mxnet_static PRIVATE "$<$:-Werror>") # Ignore erroneous compiler warnings: