🤖

Godot エディタをソースコードから macOS 向けにビルドする

2023/10/08に公開

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 ですから、archarm64 を指定してビルドします。

% 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