Ronsenval / UnrealEngineCompilationUsingFastBuild

Compile Unreal Engine 4.22 using FastBuild
Other
26 stars 13 forks source link

Compile Unreal Engine 4.22 using FastBuild

Implementation notes

Currently supported platforms

Recently supported platforms

Not supported platforms

Main idea

The main difference from Yassine Riahi & Liam Flookes version is in added support for dependency files. It was implemented using FastBuild "-report" argument. Generated report (see ReportFilePath) contains include files usage. Since there is no source code for cl-filter.exe, it is not possible to guarantee same result. Moreover it is fact, that output contains more include files than when using cl-filter.exe. Maybe more precise filtration could be applied, some ideas:

FastBuild version

Don't use FastBuild 0.96 or older versions, since it has processes management error.

For more information see https://github.com/fastbuild/fastbuild/issues/223.

Installation steps

  1. Save copy of this file as ...\Engine\Source\Programs\UnrealBuildTool\System\FASTBuild.cs;
  2. Add it to UnrealBuildTool project;
  3. Apply fix from https://github.com/TheEmidee/UE4FastBuild: VS2019 required same behaviour as for VS2017;
  4. Add FastBuild executor to ExecuteActions(...) inside ActionGraph.cs:
    ...
    // Figure out which executor to use
    ActionExecutor Executor;
    if (FASTBuild.IsAvailable())
    {
    Executor = new FASTBuild();
    }
    else if (BuildConfiguration.bAllowHybridExecutor && HybridExecutor.IsAvailable())
    ...
  5. Add "public" access modifier to GetVCToolPath64(...) method inside VCEnvironment.cs.

Original version

https://github.com/liamkf/Unreal_FASTBuild