Add libpng

This commit is contained in:
crazywhalecc
2026-03-21 11:12:13 +08:00
parent bd73b4a6dc
commit 230be2ebe8
2 changed files with 22 additions and 0 deletions

View File

@@ -14,3 +14,6 @@ libpng:
- zlib
static-libs@unix:
- libpng16.a
static-libs@windows:
- libpng16_static.lib
- libpng_a.lib

View File

@@ -8,6 +8,8 @@ use StaticPHP\Attribute\Package\BuildFor;
use StaticPHP\Attribute\Package\Library;
use StaticPHP\Package\LibraryPackage;
use StaticPHP\Runtime\Executor\UnixAutoconfExecutor;
use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
use StaticPHP\Util\FileSystem;
#[Library('libpng')]
class libpng
@@ -44,4 +46,21 @@ class libpng
$lib->patchPkgconfPrefix(['libpng16.pc']);
$lib->patchLaDependencyPrefix();
}
#[BuildFor('Windows')]
public function buildWin(LibraryPackage $lib): void
{
WindowsCMakeExecutor::create($lib)
->addConfigureArgs(
'-DSKIP_INSTALL_PROGRAM=ON',
'-DSKIP_INSTALL_FILES=ON',
'-DPNG_STATIC=ON',
'-DPNG_SHARED=OFF',
'-DPNG_TESTS=OFF',
)
->build();
// libpng16_static.lib to libpng_a.lib
FileSystem::copy("{$lib->getLibDir()}\\libpng16_static.lib", "{$lib->getLibDir()}\\libpng_a.lib");
}
}