From ca148bc597605a2f6ec06ac35d0825b5f12e03ac Mon Sep 17 00:00:00 2001
From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur@gmail.com>
Date: Wed, 19 Aug 2020 11:29:07 +0100
Subject: [PATCH 04/11] Set soversions for libs
---
CMakeLists.txt | 5 +++++
src/nrniv/CMakeLists.txt | 9 +++++----
src/nrnpython/CMakeLists.txt | 8 ++++++--
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c32bbd278..114a756a1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -828,6 +828,11 @@ if(MINGW)
install(PROGRAMS ${BASH_EXE} DESTINATION ${CMAKE_INSTALL_PREFIX}/mingw/usr/bin)
endif()
+# set up libdir
+if(NOT DEFINED LIB_INSTALL_DIR)
+ set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
+endif()
+
# =============================================================================
# Installation steps for backward compatibility
# =============================================================================
diff --git a/src/nrniv/CMakeLists.txt b/src/nrniv/CMakeLists.txt
index 37d4193dd..3bedd62c0 100644
--- a/src/nrniv/CMakeLists.txt
+++ b/src/nrniv/CMakeLists.txt
@@ -363,6 +363,7 @@ else()
elseif(TERMCAP_FOUND)
target_link_libraries(nrniv_lib ${TERMCAP_LIBRARIES})
endif()
+ set_target_properties(nrniv_lib PROPERTIES SOVERSION 0.0.0)
endif()
if(NRN_ENABLE_MUSIC)
@@ -406,7 +407,7 @@ if(NRN_ENABLE_MPI)
target_link_libraries(${libname}_lib nrniv_lib)
endif()
set_property(TARGET ${libname}_lib PROPERTY OUTPUT_NAME ${libname})
- install(TARGETS ${libname}_lib DESTINATION ${NRN_INSTALL_SHARE_LIB_DIR})
+ install(TARGETS ${libname}_lib DESTINATION ${LIB_INSTALL_DIR})
endforeach(val)
else()
target_link_libraries(nrniv_lib ${MPI_C_LIBRARIES})
@@ -485,9 +486,9 @@ endif()
# expected when ctypes looks for dlls
# ~~~
install(TARGETS nrniv nocmodl modlunit DESTINATION bin)
-install(TARGETS nrniv_lib DESTINATION ${NRN_INSTALL_SHARE_LIB_DIR})
-if(LIBIVX11DYNAM_NAME)
- install(FILES ${PROJECT_BINARY_DIR}/lib/${LIBIVX11DYNAM_NAME} DESTINATION lib)
+install(TARGETS nrniv_lib DESTINATION ${LIB_INSTALL_DIR})
+if (LIBIVX11DYNAM_NAME)
+ install(FILES ${PROJECT_BINARY_DIR}/lib/${LIBIVX11DYNAM_NAME} DESTINATION ${LIB_INSTALL_DIR})
endif()
# =============================================================================
diff --git a/src/nrnpython/CMakeLists.txt b/src/nrnpython/CMakeLists.txt
index 4f9a767d3..92aa1530a 100644
--- a/src/nrnpython/CMakeLists.txt
+++ b/src/nrnpython/CMakeLists.txt
@@ -87,7 +87,10 @@ endif()
# rxdmath libraries (always build)
add_library(rxdmath SHARED ${CMAKE_CURRENT_SOURCE_DIR}/rxdmath.cpp)
-install(TARGETS rxdmath DESTINATION ${NRN_INSTALL_SHARE_LIB_DIR})
+if(NOT NRN_WINDOWS_BUILD)
+ set_target_properties(rxdmath PROPERTIES SOVERSION 0.0.0)
+endif()
+install(TARGETS rxdmath DESTINATION ${LIB_INSTALL_DIR})
# =============================================================================
# nrnpython libraries (one lib per python)
@@ -130,11 +133,12 @@ if(NRN_ENABLE_PYTHON_DYNAMIC)
# build python3 library and install it
if(NRNPYTHON_INCLUDE3)
add_library(nrnpython3 SHARED ${NRN_NRNPYTHON_SRC_FILES})
+ set_target_properties(nrnpython3 PROPERTIES SOVERSION 0.0.0)
add_dependencies(nrnpython3 nrniv_lib)
target_include_directories(nrnpython3 PRIVATE "${NRN_OC_GENERATED_SOURCES}")
list(APPEND nrnpython_lib_list nrnpython3)
target_include_directories(nrnpython3 BEFORE PUBLIC ${NRNPYTHON_INCLUDE3} ${INCLUDE_DIRS})
- install(TARGETS nrnpython3 DESTINATION ${NRN_INSTALL_SHARE_LIB_DIR})
+ install(TARGETS nrnpython3 DESTINATION ${LIB_INSTALL_DIR})
endif()
endif()
endif()
--
2.39.1