From ca148bc597605a2f6ec06ac35d0825b5f12e03ac Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" 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