@@ -248,18 +248,22 @@ endif()
248248# extra needed libraries
249249if (WIN32 )
250250 list (APPEND mi_libraries psapi shell32 user32 advapi32 bcrypt)
251+ set (pc_libraries "-lpsapi -lshell32 -luser32 -ladvapi32 -lbcrypt" )
251252else ()
252253 find_library (MI_LIBPTHREAD pthread)
253254 if (MI_LIBPTHREAD)
254255 list (APPEND mi_libraries ${MI_LIBPTHREAD} )
256+ set (pc_libraries "-pthread" )
255257 endif ()
256258 find_library (MI_LIBRT rt)
257259 if (MI_LIBRT)
258260 list (APPEND mi_libraries ${MI_LIBRT} )
259- endif ()
261+ set (pc_libraries "${pc_libraries} -lrt" )
262+ endif ()
260263 find_library (MI_LIBATOMIC atomic)
261264 if (MI_LIBATOMIC OR MI_USE_LIBATOMIC)
262265 list (APPEND mi_libraries atomic)
266+ set (pc_libraries "${pc_libraries} -latomic" )
263267 endif ()
264268endif ()
265269
@@ -409,6 +413,15 @@ if (MI_BUILD_OBJECT)
409413 RENAME ${mi_basename}${CMAKE_C_OUTPUT_EXTENSION} )
410414endif ()
411415
416+ # pkg-config file support
417+ include ("cmake/JoinPaths.cmake" )
418+ join_paths(includedir_for_pc_file "\$ {prefix}" "${CMAKE_INSTALL_INCLUDEDIR} " )
419+ join_paths(libdir_for_pc_file "\$ {prefix}" "${CMAKE_INSTALL_LIBDIR} " )
420+
421+ configure_file (mimalloc.pc.in mimalloc.pc @ONLY)
422+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /mimalloc.pc"
423+ DESTINATION "${CMAKE_INSTALL_LIBDIR} /pkgconfig/" )
424+
412425# -----------------------------------------------------------------------------
413426# API surface testing
414427# -----------------------------------------------------------------------------
0 commit comments