From bf56cddce5b8319ccfe566d9698e2263afa131cf Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 3 Apr 2021 20:49:46 +0800 Subject: [PATCH] cmake: use .pc for hints for finding pmem libraries Signed-off-by: Kefu Chai --- cmake/modules/Findpmem.cmake | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/cmake/modules/Findpmem.cmake b/cmake/modules/Findpmem.cmake index b30d9ae6bbbb1..603b3fbf60b93 100644 --- a/cmake/modules/Findpmem.cmake +++ b/cmake/modules/Findpmem.cmake @@ -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() -- 2.39.5