@@ -140,25 +140,41 @@ install(TARGETS ${MEMILIO_SIMULATION_LIBS}
140140)
141141
142142# If jsoncpp was built as part of the bundled third-party dependencies, make sure its
143- # libraries are installed into the wheel as well so auditwheel can bundle them.
143+ # shared library is copied into the wheel with the exact SONAME the runtime loader will
144+ # request. Wheels do not preserve symlinks, so install real copies for every relevant
145+ # name.
144146if (TARGET jsoncpp_lib)
145147 set_target_properties (jsoncpp_lib PROPERTIES
146148 INSTALL_RPATH "\\ $ORIGIN"
147149 )
148- install (TARGETS jsoncpp_lib
149- LIBRARY DESTINATION lib
150- ARCHIVE DESTINATION lib
151- RUNTIME DESTINATION lib
150+ set (JSONCPP_LIB_FILE $<TARGET_FILE:jsoncpp_lib>)
151+ install (FILES ${JSONCPP_LIB_FILE}
152+ DESTINATION lib
153+ )
154+ install (FILES ${JSONCPP_LIB_FILE}
155+ DESTINATION lib
156+ RENAME libjsoncpp.so.26
157+ )
158+ install (FILES ${JSONCPP_LIB_FILE}
159+ DESTINATION lib
160+ RENAME libjsoncpp.so
152161 )
153162endif ()
154163
155164if (TARGET spdlog)
156165 set_target_properties (spdlog PROPERTIES
157166 INSTALL_RPATH "\\ $ORIGIN"
158167 )
159- install (TARGETS spdlog
160- LIBRARY DESTINATION lib
161- ARCHIVE DESTINATION lib
162- RUNTIME DESTINATION lib
168+ set (SPDLOG_LIB_FILE $<TARGET_FILE:spdlog>)
169+ install (FILES ${SPDLOG_LIB_FILE}
170+ DESTINATION lib
171+ )
172+ install (FILES ${SPDLOG_LIB_FILE}
173+ DESTINATION lib
174+ RENAME libspdlog.so.1.15
175+ )
176+ install (FILES ${SPDLOG_LIB_FILE}
177+ DESTINATION lib
178+ RENAME libspdlog.so
163179 )
164180endif ()
0 commit comments