diff --git a/config/pkg/lib/zstd.yml b/config/pkg/lib/zstd.yml index 3d76e270..875380d1 100644 --- a/config/pkg/lib/zstd.yml +++ b/config/pkg/lib/zstd.yml @@ -17,3 +17,5 @@ zstd: - libzstd static-libs@unix: - libzstd.a + static-libs@windows: + - zstd_static.lib diff --git a/src/Package/Library/zstd.php b/src/Package/Library/zstd.php index ab538358..8cbf7aa6 100644 --- a/src/Package/Library/zstd.php +++ b/src/Package/Library/zstd.php @@ -8,10 +8,24 @@ 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('zstd')] class zstd { + #[BuildFor('Windows')] + public function buildWin(LibraryPackage $package): void + { + WindowsCMakeExecutor::create($package) + ->setRootDir("{$package->getSourceDir()}/build/cmake") + ->setBuildDir("{$package->getSourceDir()}/build/cmake/build") + ->addConfigureArgs( + '-DZSTD_BUILD_STATIC=ON', + '-DZSTD_BUILD_SHARED=OFF', + ) + ->build(); + } + #[BuildFor('Linux')] #[BuildFor('Darwin')] public function build(LibraryPackage $lib): void