From 2de4c59bc20d2a81e3fb1fa0c859b259e8772b0d Mon Sep 17 00:00:00 2001 From: Jean-Francois Simoneau Date: Sat, 13 Dec 2025 23:55:58 -0500 Subject: [PATCH] Add Zstd support through meson (#2293) * Add Zstd support through meson * Add libzstd-dev to abitest --- .github/workflows/abidiff.yaml | 1 + meson.build | 6 ++++++ meson_options.txt | 1 + 3 files changed, 8 insertions(+) diff --git a/.github/workflows/abidiff.yaml b/.github/workflows/abidiff.yaml index 186e4fc..84ead93 100644 --- a/.github/workflows/abidiff.yaml +++ b/.github/workflows/abidiff.yaml @@ -29,6 +29,7 @@ jobs: git libbrotli-dev libssl-dev + libzstd-dev meson pkg-config python3 diff --git a/meson.build b/meson.build index 7e95bde..14aab1a 100644 --- a/meson.build +++ b/meson.build @@ -74,6 +74,12 @@ if brotli_found_all args += '-DCPPHTTPLIB_BROTLI_SUPPORT' endif +zstd_dep = dependency('libzstd', required: get_option('zstd')) +if zstd_dep.found() + deps += zstd_dep + args += '-DCPPHTTPLIB_ZSTD_SUPPORT' +endif + async_ns_opt = get_option('non_blocking_getaddrinfo') if host_machine.system() == 'windows' diff --git a/meson_options.txt b/meson_options.txt index deff537..7447d8d 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -5,6 +5,7 @@ option('openssl', type: 'feature', value: 'auto', description: 'Enable OpenSSL support') option('zlib', type: 'feature', value: 'auto', description: 'Enable zlib support') option('brotli', type: 'feature', value: 'auto', description: 'Enable Brotli support') +option('zstd', type: 'feature', value: 'auto', description: 'Enable zstd support') option('macosx_keychain', type: 'feature', value: 'auto', description: 'Enable loading certs from the Keychain on Apple devices') option('non_blocking_getaddrinfo', type: 'feature', value: 'auto', description: 'Enable asynchronous name lookup') option('compile', type: 'boolean', value: false, description: 'Split the header into a compilable header & source file (requires python3)')