]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: use .pc for hints for finding pmem libraries
authorKefu Chai <kchai@redhat.com>
Sat, 3 Apr 2021 12:49:46 +0000 (20:49 +0800)
committerKefu Chai <kchai@redhat.com>
Sat, 3 Apr 2021 14:00:17 +0000 (22:00 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
cmake/modules/Findpmem.cmake

index b30d9ae6bbbb15fb9e273ae1e1d7c519a3b31200..603b3fbf60b93380d3b2a7701d5c6049209579ba 100644 (file)
@@ -4,13 +4,27 @@
 # pmem_LIBRARIES - List of libraries when using libpmem.
 # pmem_FOUND - True if pmem found.
 
+find_package(PkgConfig QUIET)
+if(PKG_CONFIG_FOUND)
+  pkg_check_modules(PKG_pmem QUIET libpmem)
+  pkg_check_modules(PKG_pmemobj QUIET libpmemobj)
+endif()
+
 foreach(component pmem ${pmem_FIND_COMPONENTS})
   if(component STREQUAL pmem)
-    find_path(pmem_${component}_INCLUDE_DIR libpmem.h)
-    find_library(pmem_${component}_LIBRARY pmem)
+    find_path(pmem_${component}_INCLUDE_DIR
+      NAMES libpmem.h
+      HINTS ${PKG_pmem_INCLUDE_DIRS})
+    find_library(pmem_${component}_LIBRARY
+      NAMES pmem
+      HINTS ${PKG_pmem_LIBRARY_DIRS})
   elseif(component STREQUAL pmemobj)
-    find_path(pmem_${component}_INCLUDE_DIR libpmemobj.h)
-    find_library(pmem_${component}_LIBRARY pmemobj)
+    find_path(pmem_${component}_INCLUDE_DIR
+      NAMES libpmemobj.h
+      HINTS ${PKG_pmemobj_INCLUDE_DIRS})
+    find_library(pmem_${component}_LIBRARY
+      NAMES pmemobj
+      HINTS ${PKG_pmemobj_LIBRARY_DIRS}))
   else()
     message(FATAL_ERROR "unknown libpmem component: ${component}")
   endif()