]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
cmake: use pkgconfig for zstd lookup 1781/head
authorRosen Penev <rosenp@gmail.com>
Fri, 30 Sep 2022 08:51:08 +0000 (01:51 -0700)
committerRosen Penev <rosenp@gmail.com>
Fri, 30 Sep 2022 08:51:08 +0000 (01:51 -0700)
As libzstd typically comes with a pkgconfig file, use it.

Fixes compilation at least on OpenWrt where host paths were leaking into
the build.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
CMakeLists.txt

index df83ed18835949385cb22e4a6e7d95a0663a81ea..93b86371d31ea9ceea8d4ae05e72743ba6d8eb06 100644 (file)
@@ -610,8 +610,13 @@ IF(ENABLE_ZSTD)
     SET(ZSTD_FIND_QUIETLY TRUE)
   ENDIF (ZSTD_INCLUDE_DIR)
 
-  FIND_PATH(ZSTD_INCLUDE_DIR zstd.h)
-  FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd)
+  IF(UNIX)
+    FIND_PACKAGE(PkgConfig QUIET)
+    PKG_SEARCH_MODULE(PC_ZSTD libzstd)
+  ENDIF()
+
+  FIND_PATH(ZSTD_INCLUDE_DIR zstd.h HINTS ${PC_ZSTD_INCLUDEDIR} ${PC_ZSTD_INCLUDE_DIRS})
+  FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd HINTS ${PC_ZSTD_LIBDIR} ${PC_ZSTD_LIBRARY_DIRS})
   INCLUDE(FindPackageHandleStandardArgs)
   FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
 ELSE(ENABLE_ZSTD)