mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-11 19:05:35 +08:00
Add freetype
This commit is contained in:
@@ -11,6 +11,7 @@ freetype:
|
|||||||
depends:
|
depends:
|
||||||
- zlib
|
- zlib
|
||||||
suggests:
|
suggests:
|
||||||
|
- libpng
|
||||||
- bzip2
|
- bzip2
|
||||||
- brotli
|
- brotli
|
||||||
headers@unix:
|
headers@unix:
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ use StaticPHP\Attribute\Package\BuildFor;
|
|||||||
use StaticPHP\Attribute\Package\Library;
|
use StaticPHP\Attribute\Package\Library;
|
||||||
use StaticPHP\Package\LibraryPackage;
|
use StaticPHP\Package\LibraryPackage;
|
||||||
use StaticPHP\Runtime\Executor\UnixCMakeExecutor;
|
use StaticPHP\Runtime\Executor\UnixCMakeExecutor;
|
||||||
|
use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
|
||||||
use StaticPHP\Util\FileSystem;
|
use StaticPHP\Util\FileSystem;
|
||||||
|
|
||||||
#[Library('freetype')]
|
#[Library('freetype')]
|
||||||
@@ -33,4 +34,18 @@ class freetype
|
|||||||
$lib->patchPkgconfPrefix(['freetype2.pc']);
|
$lib->patchPkgconfPrefix(['freetype2.pc']);
|
||||||
FileSystem::replaceFileStr("{$lib->getBuildRootPath()}/lib/pkgconfig/freetype2.pc", ' -L/lib ', " -L{$lib->getBuildRootPath()}/lib ");
|
FileSystem::replaceFileStr("{$lib->getBuildRootPath()}/lib/pkgconfig/freetype2.pc", ' -L/lib ', " -L{$lib->getBuildRootPath()}/lib ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[BuildFor('Windows')]
|
||||||
|
public function buildWin(LibraryPackage $lib): void
|
||||||
|
{
|
||||||
|
WindowsCMakeExecutor::create($lib)
|
||||||
|
->optionalPackage('libpng', ...cmake_boolean_args('FT_DISABLE_PNG', true))
|
||||||
|
->optionalPackage('bzip2', ...cmake_boolean_args('FT_DISABLE_BZIP2', true))
|
||||||
|
->optionalPackage('brotli', ...cmake_boolean_args('FT_DISABLE_BROTLI', true))
|
||||||
|
->addConfigureArgs('-DFT_DISABLE_HARFBUZZ=ON')
|
||||||
|
->build();
|
||||||
|
|
||||||
|
// freetype.lib to libfreetype_a.lib
|
||||||
|
FileSystem::copy("{$lib->getLibDir()}\\freetype.lib", "{$lib->getLibDir()}\\libfreetype_a.lib");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user