@@ -133,7 +133,7 @@ endif()
133
133
134
134
# shared library
135
135
add_library (mimalloc SHARED ${mi_sources} )
136
- set_target_properties (mimalloc PROPERTIES VERSION ${mi_version} NO_SONAME "YES" OUTPUT_NAME ${mi_basename} )
136
+ set_target_properties (mimalloc PROPERTIES VERSION ${mi_version} OUTPUT_NAME ${mi_basename} )
137
137
target_compile_definitions (mimalloc PRIVATE ${mi_defines} MI_SHARED_LIB MI_SHARED_LIB_EXPORT)
138
138
target_compile_options (mimalloc PRIVATE ${mi_cflags} )
139
139
target_link_libraries (mimalloc PUBLIC ${mi_libraries} )
@@ -168,15 +168,22 @@ else()
168
168
endif ()
169
169
170
170
# install static and shared library, and the include files
171
- install (TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_dir} LIBRARY NAMELINK_SKIP )
171
+ install (TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_dir} LIBRARY)
172
172
install (TARGETS mimalloc-static EXPORT mimalloc DESTINATION ${mi_install_dir} )
173
173
install (FILES include /mimalloc.h DESTINATION ${mi_install_dir} /include )
174
174
install (FILES include /mimalloc-override.h DESTINATION ${mi_install_dir} /include )
175
175
install (FILES include /mimalloc-new-delete.h DESTINATION ${mi_install_dir} /include )
176
176
install (FILES cmake/mimalloc-config.cmake DESTINATION ${mi_install_dir} /cmake)
177
177
install (FILES cmake/mimalloc-config-version .cmake DESTINATION ${mi_install_dir} /cmake)
178
178
install (EXPORT mimalloc DESTINATION ${mi_install_dir} /cmake)
179
- install (FILES "$<TARGET_FILE:mimalloc>" DESTINATION lib) # duplicate the .so in the lib directory (unversioned)
179
+
180
+ if (NOT WIN32 )
181
+ # install a symlink in the /usr/local/lib to the versioned library
182
+ set (mi_symlink "${CMAKE_SHARED_MODULE_PREFIX}${mi_basename}${CMAKE_SHARED_LIBRARY_SUFFIX} " )
183
+ set (mi_soname "mimalloc-${mi_version} /${mi_symlink} .${mi_version} " )
184
+ install (CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${mi_soname} ${mi_symlink} WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX} /${mi_install_dir} /..)" )
185
+ install (CODE "MESSAGE(\" -- Symbolic link: ${CMAKE_INSTALL_PREFIX} /lib/${mi_symlink} -> ${mi_soname} \" )" )
186
+ endif ()
180
187
181
188
# single object file for more predictable static overriding
182
189
add_library (mimalloc-obj OBJECT src/static .c)
0 commit comments