ユーザ用ツール

サイト用ツール


ue4:buildsystem

文書の過去の版を表示しています。


UnrealBuildTool

Unreal Engine 4 の BuildSystem は非常に複雑です。 その中心になるのが C# で記述された UnrealBuildTool になります。

各 Module の Build file (Makefile 相当) も *.Build.cs と言う名前の C# で書かれています。

  1. フォルダ Tree の検索
  2. 依存解析と cache 作成
  3. ビルドステップの実行
    1. UnrealHeaderTool を使ったプリプロセス
    2. 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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki