1
0
mirror of synced 2025-04-21 22:25:55 +03:00

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
This commit is contained in:
Alexey Sokolov 2025-03-29 15:46:22 +00:00 committed by GitHub
parent dbc4af819a
commit 0dbe8ba144
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -159,10 +159,26 @@ elseif(HTTPLIB_USE_BROTLI_IF_AVAILABLE)
endif() endif()
if(HTTPLIB_REQUIRE_ZSTD) if(HTTPLIB_REQUIRE_ZSTD)
find_package(zstd REQUIRED) find_package(zstd)
if(NOT zstd_FOUND)
find_package(PkgConfig REQUIRED)
pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
add_library(zstd::libzstd ALIAS PkgConfig::zstd)
endif()
set(HTTPLIB_IS_USING_ZSTD TRUE) set(HTTPLIB_IS_USING_ZSTD TRUE)
elseif(HTTPLIB_USE_ZSTD_IF_AVAILABLE) elseif(HTTPLIB_USE_ZSTD_IF_AVAILABLE)
find_package(zstd QUIET) find_package(zstd QUIET)
if(NOT zstd_FOUND)
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(zstd QUIET IMPORTED_TARGET libzstd)
if(TARGET PkgConfig::zstd)
add_library(zstd::libzstd ALIAS PkgConfig::zstd)
endif()
endif()
endif()
# Both find_package and PkgConf set a XXX_FOUND var
set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND}) set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
endif() endif()