Godot エディタをソースコードから macOS 向けにビルドする
Godot Engine はクロスプラットフォーム向けの2Dまたは3D用ゲームエンジンです。自由に使えて、MITライセンスに基づくオープンソースであることが特徴です。
Godot Engine の GitHub リポジトリには、Godot Engine のソースコードの他、Godot で作業する際に使用するエディタのソースコードも含まれています。
公開されているソースコードをビルドすることによって macOS 向けのエディタをローカルで作成することができます。ここでは、ドキュメント Building from source を参考にしつつ、手順を記述します。
環境
MacBook Pro 13-inch M1 2020, macOS Ventura 13.6, Xcode 15.0
1. リポジトリを clone する
Getting the source が対応するドキュメントです。
% git clone git@github.com:godotengine/godot.git
この記事では、2023/10/7 時点の最新の master で以下の作業を進めます。
2. エディタをビルドする
Compiling for macOS が対応するドキュメントです。
Requirements を確認して、インストールしておきます。
今回の環境は Apple Silicon ですから、arch
に arm64
を指定してビルドします。
% scons platform=macos arch=arm64
Xcode15 を使用している場合、恐らく Godot v4.1.2 未満でコンパイルに失敗します。
これは Xcode15 から新しいリンカが採用されていることに起因するエラーで、Xcode15 の場合にリンク時のオプションに -ld-classic
を指定することによってエラーを回避するワークアラウンドが追加されています。
ビルドが成功すると bin
ディレクトリ内に godot.macos.editor.arm64
という名前の実行ファイルができています。
% file ./bin/godot.macos.editor.arm64
./bin/godot.macos.editor.arm64: Mach-O 64-bit executable arm64
今回はローカルでエディタを起動するだけなので、ドキュメントに記載されている lipo
コマンドにあたる作業は行いません。
3. macOS アプリとして起動できるようにする
misc
ディレクトリには macOS アプリを作成するためのテンプレート用のファイルが配置されています。テンプレートをコピーして、実行ファイルを置き、権限の変更と署名をします。
上で lipo
コマンドは実行しませんでしたので、実行ファイルにはドキュメントに記載されている godot.macos.tools.universal
ではなく、生成した bin/godot.macos.editor.arm64
を指定します。
% cp -r misc/dist/macos_tools.app ./Godot.app
% mkdir -p Godot.app/Contents/MacOS
% cp bin/godot.macos.editor.arm64 Godot.app/Contents/MacOS/Godot
% chmod +x Godot.app/Contents/MacOS/Godot
% codesign --force --timestamp --options=runtime --entitlements misc/dist/macos/editor.entitlements -s - Godot.app
Godot.app: replacing existing signature
上記までの作業で、生成した Godot アプリが開けるようになりました。
% open ./Godot.app
生成した Godot エディタアプリ
Discussion