mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2026-04-11 19:28:30 +00:00
Fix build error when zstd < 1.5.6 lacks zstd::libzstd CMake target (#2334)
Fix #2313
This commit is contained in:
@@ -185,10 +185,11 @@ elseif(HTTPLIB_USE_BROTLI_IF_AVAILABLE)
|
|||||||
set(HTTPLIB_IS_USING_BROTLI ${Brotli_FOUND})
|
set(HTTPLIB_IS_USING_BROTLI ${Brotli_FOUND})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# NOTE: When using cpp-httplib as a subproject (e.g., via FetchContent), the zstd::libzstd target may not be visible in the parent project scope.
|
# NOTE:
|
||||||
# If you encounter a "target not found" error, see https://github.com/yhirose/cpp-httplib/issues/2313 for a workaround.
|
# zstd < 1.5.6 does not provide the CMake imported target `zstd::libzstd`.
|
||||||
|
# Older versions must be consumed via their pkg-config file.
|
||||||
if(HTTPLIB_REQUIRE_ZSTD)
|
if(HTTPLIB_REQUIRE_ZSTD)
|
||||||
find_package(zstd)
|
find_package(zstd 1.5.6 CONFIG)
|
||||||
if(NOT zstd_FOUND)
|
if(NOT zstd_FOUND)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
|
pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
|
||||||
@@ -196,7 +197,7 @@ if(HTTPLIB_REQUIRE_ZSTD)
|
|||||||
endif()
|
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 1.5.6 CONFIG QUIET)
|
||||||
if(NOT zstd_FOUND)
|
if(NOT zstd_FOUND)
|
||||||
find_package(PkgConfig QUIET)
|
find_package(PkgConfig QUIET)
|
||||||
if(PKG_CONFIG_FOUND)
|
if(PKG_CONFIG_FOUND)
|
||||||
|
|||||||
Reference in New Issue
Block a user