@@ -248,18 +248,22 @@ endif()
248
248
# extra needed libraries
249
249
if (WIN32 )
250
250
list (APPEND mi_libraries psapi shell32 user32 advapi32 bcrypt)
251
+ set (pc_libraries "-lpsapi -lshell32 -luser32 -ladvapi32 -lbcrypt" )
251
252
else ()
252
253
find_library (MI_LIBPTHREAD pthread)
253
254
if (MI_LIBPTHREAD)
254
255
list (APPEND mi_libraries ${MI_LIBPTHREAD} )
256
+ set (pc_libraries "-pthread" )
255
257
endif ()
256
258
find_library (MI_LIBRT rt)
257
259
if (MI_LIBRT)
258
260
list (APPEND mi_libraries ${MI_LIBRT} )
259
- endif ()
261
+ set (pc_libraries "${pc_libraries} -lrt" )
262
+ endif ()
260
263
find_library (MI_LIBATOMIC atomic)
261
264
if (MI_LIBATOMIC OR MI_USE_LIBATOMIC)
262
265
list (APPEND mi_libraries atomic)
266
+ set (pc_libraries "${pc_libraries} -latomic" )
263
267
endif ()
264
268
endif ()
265
269
@@ -409,6 +413,15 @@ if (MI_BUILD_OBJECT)
409
413
RENAME ${mi_basename}${CMAKE_C_OUTPUT_EXTENSION} )
410
414
endif ()
411
415
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
+
412
425
# -----------------------------------------------------------------------------
413
426
# API surface testing
414
427
# -----------------------------------------------------------------------------
0 commit comments