扩展UnrealEngine分布式编译C++

虚幻已经有多套方案可以执行分布式编译C++,例如:

  • XGE IncredBuild
  • FASTBuild

不过问题是XGE商业授权, FASTBuild使用并不稳定, 常常出现一些奇怪的问题.

因此想在之前TurboBuild分布编译Shaders的基础上, 扩展支持下C++ .

参考FASTBuild的原理, 其实就是将C++的编译细分成多个步骤, 在本地预编译,然后远程执行具体编译。

  • 前置依赖本地处理(少量ispc)
  • 创建依赖环境(cl/linker计算)
  • Pipeline方式编译任务处理
    • 本地预处理(并输出依赖文件)
    • 远程编译TASK
    • 等待远程回收
    • 合并结果和依赖文件
  • Pipeline链接任务阶段处理