Skip to content

Commit 0dbe8ba

Browse files
authored
Support zstd also via pkg-config (#2121)
* Support zstd also via pkg-config It doesn't always provide cmake config * Find zstd with pkg-config also in non-required case Code by @sum01, slightly modified
1 parent dbc4af8 commit 0dbe8ba

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

CMakeLists.txt

+17-1
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,26 @@ elseif(HTTPLIB_USE_BROTLI_IF_AVAILABLE)
159159
endif()
160160

161161
if(HTTPLIB_REQUIRE_ZSTD)
162-
find_package(zstd REQUIRED)
162+
find_package(zstd)
163+
if(NOT zstd_FOUND)
164+
find_package(PkgConfig REQUIRED)
165+
pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
166+
add_library(zstd::libzstd ALIAS PkgConfig::zstd)
167+
endif()
163168
set(HTTPLIB_IS_USING_ZSTD TRUE)
164169
elseif(HTTPLIB_USE_ZSTD_IF_AVAILABLE)
165170
find_package(zstd QUIET)
171+
if(NOT zstd_FOUND)
172+
find_package(PkgConfig QUIET)
173+
if(PKG_CONFIG_FOUND)
174+
pkg_check_modules(zstd QUIET IMPORTED_TARGET libzstd)
175+
176+
if(TARGET PkgConfig::zstd)
177+
add_library(zstd::libzstd ALIAS PkgConfig::zstd)
178+
endif()
179+
endif()
180+
endif()
181+
# Both find_package and PkgConf set a XXX_FOUND var
166182
set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
167183
endif()
168184

0 commit comments

Comments
 (0)