虚幻已经有多套方案可以执行分布式编译C++,例如:
- XGE IncredBuild
- FASTBuild
不过问题是XGE商业授权, FASTBuild使用并不稳定, 常常出现一些奇怪的问题.
因此想在之前TurboBuild分布编译Shaders的基础上, 扩展支持下C++ .
参考FASTBuild的原理, 其实就是将C++的编译细分成多个步骤, 在本地预编译,然后远程执行具体编译。
- 前置依赖本地处理(少量ispc)
- 创建依赖环境(cl/linker计算)
- Pipeline方式编译任务处理
- 本地预处理(并输出依赖文件)
- 远程编译TASK
- 等待远程回收
- 合并结果和依赖文件
- Pipeline链接任务阶段处理
