mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 12:54:52 +08:00
add glfw support for macOS
This commit is contained in:
parent
b97327d6d7
commit
2bc02bdaac
@ -135,6 +135,14 @@
|
|||||||
"imagemagick"
|
"imagemagick"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"glfw": {
|
||||||
|
"type": "external",
|
||||||
|
"arg-type": "custom",
|
||||||
|
"source": "ext-glfw",
|
||||||
|
"lib-depends": [
|
||||||
|
"glfw"
|
||||||
|
]
|
||||||
|
},
|
||||||
"imap": {
|
"imap": {
|
||||||
"type": "builtin",
|
"type": "builtin",
|
||||||
"arg-type": "with",
|
"arg-type": "with",
|
||||||
|
|||||||
@ -6,6 +6,15 @@
|
|||||||
"path": "LICENSE"
|
"path": "LICENSE"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ext-glfw": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/mario-deluna/php-glfw",
|
||||||
|
"rev": "master",
|
||||||
|
"license": {
|
||||||
|
"type": "file",
|
||||||
|
"path": "LICENSE"
|
||||||
|
}
|
||||||
|
},
|
||||||
"apcu": {
|
"apcu": {
|
||||||
"type": "url",
|
"type": "url",
|
||||||
"url": "https://pecl.php.net/get/APCu",
|
"url": "https://pecl.php.net/get/APCu",
|
||||||
|
|||||||
24
src/SPC/builder/extension/glfw.php
Normal file
24
src/SPC/builder/extension/glfw.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace SPC\builder\extension;
|
||||||
|
|
||||||
|
use SPC\builder\Extension;
|
||||||
|
use SPC\store\FileSystem;
|
||||||
|
use SPC\util\CustomExt;
|
||||||
|
|
||||||
|
#[CustomExt('glfw')]
|
||||||
|
class glfw extends Extension
|
||||||
|
{
|
||||||
|
public function patchBeforeBuildconf(): bool
|
||||||
|
{
|
||||||
|
FileSystem::copyDir(SOURCE_PATH . '/ext-glfw', SOURCE_PATH . '/php-src/ext/glfw');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getUnixConfigureArg(): string
|
||||||
|
{
|
||||||
|
return '--enable-glfw --with-glfw-dir=' . BUILD_ROOT_PATH;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
src/SPC/builder/macos/library/glfw.php
Normal file
21
src/SPC/builder/macos/library/glfw.php
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace SPC\builder\macos\library;
|
||||||
|
|
||||||
|
class glfw extends MacOSLibraryBase
|
||||||
|
{
|
||||||
|
public const NAME = 'glfw';
|
||||||
|
|
||||||
|
protected function build()
|
||||||
|
{
|
||||||
|
// compile!
|
||||||
|
shell()->cd(SOURCE_PATH . '/ext-glfw/vendor/glfw')
|
||||||
|
->exec("{$this->builder->configure_env} cmake . {$this->builder->makeCmakeArgs()} -DBUILD_SHARED_LIBS=OFF -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF")
|
||||||
|
->exec("make -j{$this->builder->concurrency}")
|
||||||
|
->exec('make install DESTDIR=' . BUILD_ROOT_PATH);
|
||||||
|
// patch pkgconf
|
||||||
|
$this->patchPkgconfPrefix(['glfw3.pc']);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user