Add lz4 and ext-lz4 for Windows

This commit is contained in:
crazywhalecc
2026-04-10 15:51:18 +08:00
parent d29bd12bcc
commit 3808457b52
3 changed files with 16 additions and 2 deletions

View File

@@ -2,8 +2,9 @@ ext-lz4:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: ghtagtar type: git
repo: kjdev/php-ext-lz4 url: 'https://github.com/kjdev/php-ext-lz4.git'
rev: master
extract: php-src/ext/lz4 extract: php-src/ext/lz4
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]

View File

@@ -11,3 +11,5 @@ liblz4:
license: BSD-2-Clause license: BSD-2-Clause
static-libs@unix: static-libs@unix:
- liblz4.a - liblz4.a
static-libs@windows:
- lz4.lib

View File

@@ -10,6 +10,7 @@ use StaticPHP\Attribute\Package\PatchBeforeBuild;
use StaticPHP\Attribute\PatchDescription; use StaticPHP\Attribute\PatchDescription;
use StaticPHP\Package\LibraryPackage; use StaticPHP\Package\LibraryPackage;
use StaticPHP\Package\PackageBuilder; use StaticPHP\Package\PackageBuilder;
use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
use StaticPHP\Util\FileSystem; use StaticPHP\Util\FileSystem;
#[Library('liblz4')] #[Library('liblz4')]
@@ -22,6 +23,16 @@ class liblz4
FileSystem::replaceFileStr($lib->getSourceDir() . '/programs/Makefile', 'install: lz4', "install: lz4\n\ninstallewfwef: lz4"); FileSystem::replaceFileStr($lib->getSourceDir() . '/programs/Makefile', 'install: lz4', "install: lz4\n\ninstallewfwef: lz4");
} }
#[BuildFor('Windows')]
public function buildWin(LibraryPackage $lib): void
{
WindowsCMakeExecutor::create($lib)
->setWorkingDir("{$lib->getSourceDir()}/build/cmake")
->setBuildDir("{$lib->getSourceDir()}/_win_build")
->addConfigureArgs('-DLZ4_BUILD_CLI=OFF')
->build();
}
#[BuildFor('Darwin')] #[BuildFor('Darwin')]
#[BuildFor('Linux')] #[BuildFor('Linux')]
public function buildUnix(LibraryPackage $lib, PackageBuilder $builder): void public function buildUnix(LibraryPackage $lib, PackageBuilder $builder): void