tools/cmake: fix compilation with host libzstd-dev
authorRosen Penev <rosenp@gmail.com>
Fri, 30 Sep 2022 08:42:51 +0000 (01:42 -0700)
committerRosen Penev <rosenp@gmail.com>
Fri, 30 Sep 2022 20:12:42 +0000 (13:12 -0700)
cmake's find_package looks at host paths first for some reason. Switch
to using pkgconfig for the search, matching other modules.

Fixes: 3848cf458ef9 ("tools/cmake: Build without some included libs")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
tools/cmake/patches/150-zstd-libarchive.patch [new file with mode: 0644]

diff --git a/tools/cmake/patches/150-zstd-libarchive.patch b/tools/cmake/patches/150-zstd-libarchive.patch
new file mode 100644 (file)
index 0000000..603ac03
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/Utilities/cmlibarchive/CMakeLists.txt
++++ b/Utilities/cmlibarchive/CMakeLists.txt
+@@ -630,8 +630,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 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)