2025-07-20 00:10:30 +07:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace SPC\builder\unix\library;
|
|
|
|
|
|
2025-07-20 01:13:51 +07:00
|
|
|
use SPC\store\FileSystem;
|
2025-07-20 00:10:30 +07:00
|
|
|
use SPC\util\executor\UnixCMakeExecutor;
|
2025-07-20 01:13:51 +07:00
|
|
|
use SPC\util\SPCTarget;
|
2025-07-20 00:10:30 +07:00
|
|
|
|
|
|
|
|
trait libjxl
|
|
|
|
|
{
|
2025-07-20 01:13:51 +07:00
|
|
|
public function patchBeforeBuild(): bool
|
|
|
|
|
{
|
|
|
|
|
$depsContent = file_get_contents($this->source_dir . '/deps.sh');
|
|
|
|
|
if (str_contains($depsContent, '# return 0')) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
FileSystem::replaceFileStr(
|
|
|
|
|
$this->source_dir . '/deps.sh',
|
|
|
|
|
'return 0',
|
|
|
|
|
'# return 0',
|
|
|
|
|
);
|
|
|
|
|
shell()->cd($this->source_dir)
|
|
|
|
|
->exec('./deps.sh');
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-20 00:10:30 +07:00
|
|
|
protected function build(): void
|
|
|
|
|
{
|
|
|
|
|
UnixCMakeExecutor::create($this)
|
|
|
|
|
->addConfigureArgs('-DJPEGXL_ENABLE_TOOLS=OFF')
|
|
|
|
|
->addConfigureArgs('-DJPEGXL_ENABLE_EXAMPLES=OFF')
|
|
|
|
|
->addConfigureArgs('-DJPEGXL_ENABLE_MANPAGES=OFF')
|
|
|
|
|
->addConfigureArgs('-DJPEGXL_ENABLE_BENCHMARK=OFF')
|
|
|
|
|
->addConfigureArgs('-DJPEGXL_ENABLE_PLUGINS=OFF')
|
|
|
|
|
->addConfigureArgs('-DJPEGXL_ENABLE_SJPEG=OFF')
|
2025-07-20 01:17:58 +07:00
|
|
|
->addConfigureArgs('-DJPEGXL_STATIC=' . (SPCTarget::isStatic() ? 'ON' : 'OFF'))
|
2025-07-20 00:10:30 +07:00
|
|
|
->addConfigureArgs('-DBUILD_TESTING=OFF')
|
|
|
|
|
->build();
|
|
|
|
|
}
|
|
|
|
|
}
|