ue4:buildsystem
文書の過去の版を表示しています。
UnrealBuildTool
Unreal Engine 4 の BuildSystem は非常に複雑です。 その中心になるのが C# で記述された UnrealBuildTool になります。
各 Module の Build file (Makefile 相当) も *.Build.cs と言う名前の C# で書かれています。
- フォルダ Tree の検索
- 依存解析と cache 作成
- ビルドステップの実行
- UnrealHeaderTool を使ったプリプロセス
- Executor からコンパイラの呼び出し (もしくは分散 Build System 呼び出し)
等
内部構造
Executor
コンパイラを呼び出すためのフロントエンドです。 分散ビルドを行う場合、それぞれ対応した Executor が選択されます。 デフォルトは ParallelExecutor です。
LocalExecutor | Network を使わずに PC の Local CPU だけでビルドします。並列ビルドしますが、HT が有効な場合すべての Thread が使われないという問題があります。設定で変更可能ですが、デフォルトだと本来の速度よりもビルド速度が落ちているので注意。今はほとんど使われていません。 |
ParallelExecutor | Local CPU 用の新しい Executor で、LocalExecutor よりも高速です。設定不要ですべての CPU core とすべての Thread を使います。 |
XGE | 有料の分散ビルドツール IncrediBuild を install している場合に使用します。CPU/Thread 数に応じたライセンスが必要です。 |
HybridExecutor | XGE と同じですが、分散ビルドと同時に Local の CPU も最大限活用します。IncrediBuild のライセンスよりも CPU core 数が多い場合に有効かもしれません。未確認 |
SNDBS | SONY の分散ビルドツール SN-DBS を install している場合に使用します。 |
Distcc | macOS 上で分散ビルドツールの Distcc を用いる場合にこの Executor を使います。 |
UnrealBuildTool の設定
BuildConfiguration.xml ファイルに記述することができます。
Project / Module 単位の設定は *.Build.cs や *.Target.cs で設定することが可能です。
UE4 4.25
VisualStudio の選択。以前は UBT のコマンドオプションで -2017 のように指定していた。詳細
<?xml version="1.0" encoding="utf-8"?> <Configuration xmlns="https://www.unrealengine.com/BuildConfiguration"> <BuildConfiguration> </BuildConfiguration> <ProjectFileGenerator> <Format>VisualStudio2017</Format> </ProjectFileGenerator> </Configuration>
ue4/buildsystem.1598065200.txt.gz · 最終更新: 2020/08/22 12:00 by oga