来源:
Makefile
CMakePresets.json
.github/workflows/matrix.yml
doc/c++/COMPILING.md
commit d32b9cc880a8
build-config
Linux 开发¶
Linux 是本地和 CI 覆盖最广的平台,但构建结果只有连同 compiler、frontend、SDL 版本、 localization、sound、test、sanitizer 与 build type 才有意义。
权威入口¶
Makefile定义原生 Make feature switch 与验证 target。CMakePresets.json定义linux-x64、linux-tiles-sounds-x64和 vcpkg 变体。.github/workflows/matrix.yml记录当前 CI 实际覆盖的组合。doc/c++/COMPILING.md可提供背景;与以上构建文件冲突时以构建文件为准。
受支持路径¶
最小 CMake 路径是 curses、启用本地化与测试的 linux-x64 preset;
linux-tiles-sounds-x64 增加图形与音频依赖面。原生 Make 通过 TILES、SOUND、
SDL3、LOCALIZE、TESTS、compiler、sanitizer 与 release flag 表达相同维度。
聚焦原生测试遵循根 AGENTS 和 test matrix,不要复制大型 release 命令:
验证与产物¶
报告 distribution、architecture、compiler/version、Make/CMake、preset/flag、curses/tiles、
SDL2/SDL3、sound、localization、sanitizer 和准确 test filter。build directory、
compile_commands.json、profiler capture 与 symbol database 是本地/CI artifact,不是要
提交的源码。
边界与注意事项¶
Linux 通过不能证明 Windows 或 Android 支持。SDL3 需要编译后的 shader artifact;SDL2 仍是独立 fallback lane。旧文档中的包管理命令容易过时,应按 configure 输出与已验证 构建配置诊断。