37 lines
1.0 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace SPC\builder\unix\library;
use SPC\exception\FileSystemException;
use SPC\exception\RuntimeException;
use SPC\store\FileSystem;
trait zstd
{
/**
* @throws RuntimeException
* @throws FileSystemException
*/
protected function build(): void
{
FileSystem::resetDir($this->source_dir . '/build/cmake/build');
shell()->cd($this->source_dir . '/build/cmake/build')
2025-05-18 17:59:02 +07:00
->setEnv([
'CFLAGS' => $this->getLibExtraCFlags(),
'LDFLAGS' => $this->getLibExtraLdFlags(),
'LIBS' => $this->getLibExtraLibs(),
])
2025-06-07 23:19:32 +07:00
->execWithEnv(
"cmake {$this->builder->makeCmakeArgs()} " .
'-DZSTD_BUILD_STATIC=ON ' .
'-DZSTD_BUILD_SHARED=OFF ' .
'..'
)
2025-06-07 20:09:50 +07:00
->execWithEnv("cmake --build . -j {$this->builder->concurrency}")
->execWithEnv('make install');
$this->patchPkgconfPrefix(['libzstd.pc']);
}
}