用途:为 Filament 在桌面平台进行开发、调试与生产构建时,提供清理工作区和编译目标的标准流程与命令配置。
主要能力与用法:
- 完全清理全部构建:重置构建环境、删除所有平台的编译产物、缓存与生成文件,命令为 ./build.sh -C。
- 编译桌面 Debug 构建:用于开发、本地调试与交互测试,带调试符号且不做优化,命令为 ./build.sh -ip desktop debug。
- 编译桌面 Release 构建:用于性能分析、优化、剖析与本地基准测试,命令为 ./build.sh -ip desktop release。
- 使用 Ninja 增量构建:对已有构建目录快速迭代,命令为 ninja -C out/cmake-debug <target>。
限制与注意事项:使用 Ninja 增量构建时需留意第二个构建目录。材质并非由 out/cmake-debug/tools/matc/matc 编译,build.ninja 中每条材质规则都调用 out/prebuilt-tools-release/tools/matc/matc 这一分离构建的主机工具副本。SPLIT_BUILD_TYPE 默认为 release,因此即使是 debug 构建,该路径仍是 prebuilt-tools-release。因此,在修改任何影响着色器生成的内容(libs/filamat/、libs/filabridge/、shaders/ 或 third_party/spirv-cross/)之后,直接执行 ninja -C out/cmake-debug 会重建并重新链接二进制文件,却静默复用陈旧的 .filamat 文件,导致新生成代码与旧生成代码混合,产生令人困惑的运行时着色器编译错误。此时应先重建主机工具:ninja -C out/prebuilt-tools-release matc resgen,再执行 ninja -C out/cmake-debug <target>。./build.sh -ip desktop debug 会自动完成这两个步骤,如有疑问优先使用它。
适用场景:Filament 桌面端的日常开发、调试与发布构建,以及需要增量编译时的正确操作流程。具体要求版本、支持平台范围与更多参数暂未提供。