From 801d41efeb1d30d3207b0e429fd9f8e388f402ac Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Sat, 21 Mar 2026 17:53:49 +0800 Subject: [PATCH] Add libwebp --- config/pkg/lib/libwebp.yml | 5 +++++ src/Package/Library/libwebp.php | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/config/pkg/lib/libwebp.yml b/config/pkg/lib/libwebp.yml index 62ddddc1..24873b12 100644 --- a/config/pkg/lib/libwebp.yml +++ b/config/pkg/lib/libwebp.yml @@ -14,3 +14,8 @@ libwebp: - libwebpdemux - libwebpmux - libsharpyuv + static-libs@windows: + - libwebp.lib + - libwebpdecoder.lib + - libwebpdemux.lib + - libsharpyuv.lib diff --git a/src/Package/Library/libwebp.php b/src/Package/Library/libwebp.php index 0ee4028d..30b3826a 100644 --- a/src/Package/Library/libwebp.php +++ b/src/Package/Library/libwebp.php @@ -8,6 +8,7 @@ use StaticPHP\Attribute\Package\BuildFor; use StaticPHP\Attribute\Package\Library; use StaticPHP\Package\LibraryPackage; use StaticPHP\Runtime\Executor\UnixCMakeExecutor; +use StaticPHP\Runtime\Executor\WindowsCMakeExecutor; #[Library('libwebp')] class libwebp extends LibraryPackage @@ -41,4 +42,23 @@ int main() { return _mm256_cvtsi256_si32(_mm256_setzero_si256()); }'; $this->patchPkgconfPrefix(patch_option: PKGCONF_PATCH_PREFIX | PKGCONF_PATCH_LIBDIR); $this->patchPkgconfPrefix(['libsharpyuv.pc'], PKGCONF_PATCH_CUSTOM, ['/^includedir=.*$/m', 'includedir=${prefix}/include/webp']); } + + #[BuildFor('Windows')] + public function buildWin(): void + { + WindowsCMakeExecutor::create($this) + ->addConfigureArgs( + '-DWEBP_BUILD_EXTRAS=OFF', + '-DWEBP_BUILD_ANIM_UTILS=OFF', + '-DWEBP_BUILD_CWEBP=OFF', + '-DWEBP_BUILD_DWEBP=OFF', + '-DWEBP_BUILD_GIF2WEBP=OFF', + '-DWEBP_BUILD_IMG2WEBP=OFF', + '-DWEBP_BUILD_VWEBP=OFF', + '-DWEBP_BUILD_WEBPINFO=OFF', + '-DWEBP_BUILD_WEBPMUX=OFF', + '-DWEBP_BUILD_FUZZTEST=OFF', + ) + ->build(); + } }