用 Godot 编写的 Godot 引擎源码图形化编译工具。解析 scons --help 自动生成分组式构建选项界面(含中文汉化),一键调用 SCons 完成引擎编译,无需手动编辑 custom.py。
- 图形化构建选项
- 解析源码
scons --help输出,动态生成全部编译选项(bool / 枚举 / 整数 / 字符串 / 路径类型),无需硬编码选项列表 - 选项按「基础构建目标 / 优化与性能 / 功能开关 / 渲染与图形驱动 / 构建加速与产物 / 性能分析器 / 编译器与工具链 / Windows 平台特定 / 模块 / 内置库」等分组展示,支持分组导航、搜索过滤与逐组重置
- 中文汉化:
build_options_zh.json提供选项名、描述与分组的中文翻译(version字段标注适用的引擎版本)
- 解析源码
- 差异式配置模型
- 仅将偏离默认值的选项写入
custom.py,保持配置文件最小化 modules_enabled_by_default总开关自动派生模块选项默认值;依赖规则自动补全强制项(如 ANGLE 未禁用时强制保留module_astcenc_enabled,避免链接失败)- 首次解析自动识别源码
custom.py,导入后即保留原工程配置
- 仅将偏离默认值的选项写入
- 配置管理
- 一键构建、取消构建(先发送中断让 SCons 优雅退出,超时后强制终止)
custom.py导入 / 导出、配置预览窗口- 构建日志实时捕获并落盘到可执行文件旁的
logs/目录
- 免安装环境
- 内置嵌入式 Python 3.14 运行时(Windows / Linux / macOS 三平台)与 SCons 4.11,首次运行自动解压到可执行文件旁,无需手动安装依赖
- 设置中可自定义 Python 解释器路径与 SCons 库目录,校验失败自动回退内置
- 源码目录管理
- 自动扫描可执行文件旁
sources/目录下的一级子目录,识别 Godot 版本并快速切换 - 构建前自动检测当前环境可构建的平台列表(
scons platform=list) - 一键在源码目录或程序目录打开系统终端
- 自动扫描可执行文件旁
- 工程集成
scons --help磁盘缓存:缓存键含源码内容哈希,第三方改动SConstruct/version.py后自动失效,可在「更多」菜单手动清除- PCK 加密编译密钥注入:设置中配置的密钥以
SCRIPT_AES256_ENCRYPTION_KEY环境变量注入 SCons 子进程,secrets.dat做混淆存储(绑定本机与可执行文件路径) - 配套 GitHub Actions 工作流:云端远程编译 Godot 引擎(Linux / Windows / macOS / Android / iOS / Web),并可一键构建导出模板、产出本工具三平台成品,使用说明见
.github/GITHUB_ACTIONS.md
- 预构建版:从本仓库 Releases 页面下载(若已发布)
- 自行构建:使用 Godot 4.7.x 打开项目,按下方「导出打包」章节导出
| 环境 | 说明 |
|---|---|
| Godot 编辑器 | 4.7.x(项目使用 Forward Plus 渲染器与 GDScript 4 语法) |
| 目标引擎源码 | 任意版本 Godot 引擎源码(依赖 SConstruct 与 version.py 完整性校验) |
| 编译工具链 | 与官方编译文档一致(如 Windows 需 VS Build Tools,Linux 需 gcc 等)——工具本身不内置编译器 |
编译目标引擎时所需工具链请参考 Godot 官方编译文档。
- 使用 Godot 4.7.x 编辑器打开本项目
- 直接运行主场景
res://main.tscn - 将 Godot 引擎源码放入可执行文件(编辑器运行模式下为项目目录)旁的
sources/文件夹,或点击源码按钮手动选择
开发模式下直接使用项目内的
python/资源目录;导出打包后首次运行会从 PCK 中解压运行时到可执行文件旁。
- 导出预设见
build/export_presets.cfg(提交版本,Windows Desktop / Linux/X11 / macOS 三平台,启用 PCK 加密与脚本加密密钥注入,模板路径用@TEMPLATES_DIR@占位);项目根目录的export_presets.cfg为本地个人预设(含本机模板路径,已被 .gitignore 忽略,仅供本地导出使用) - 项目自带导出裁剪插件
addons/godot_builder_export/(裁剪导出时嵌入的引擎类,减小体积) - 用于编译本工具自身精简版引擎的配置集中在
build/目录:profile.py(SCons 参考配置)、project.gdbuild(类型裁剪)、export_presets.cfg(导出预设) - 可在 GitHub Actions 云端一键构建模板并导出三平台成品(自导出工作流),使用说明见
.github/GITHUB_ACTIONS.md
.
├── main.gd / main.tscn # 主场景与逻辑
├── src/ # 核心逻辑
│ ├── godot_builder.gd # 构建器:运行时解压、SCons 调用、环境探测、help 缓存
│ ├── scons_help_parser.gd # scons --help 输出解析
│ ├── build_options.gd # 选项元数据仓库与分组(含中文汉化合并)
│ ├── config_store.gd # 配置差异字典 + 依赖规则 + 模块开关派生
│ ├── profile_converter.gd # custom.py <-> 配置字典双向转换
│ ├── secret_store.gd # PCK 加密密钥混淆存取
│ ├── build_logger.gd # 构建日志落盘
│ ├── console.gd # 控制台输出
│ ├── app_data.gd # 应用数据(exe 旁 app_data.tres)
│ └── utils.gd # 版本解析、源码扫描、打开终端等工具
├── ui/ # 界面:panels(表单/分组导航/摘要/控制台)、
│ # windows(配置预览)、dialogs(设置)、controls(字段控件/状态栏)
├── addons/
│ ├── pipe_process_runner/ # 进程管道运行器(stdout/stderr 捕获、中断/终止)
│ └── godot_builder_export/ # 导出裁剪插件
├── python/ # 嵌入式运行时(embeddings/<平台> + site-packages/SCons)
├── assets/ # 资源目录(UI 图标等)
├── icon.svg / project.godot # 应用图标与 Godot 项目设置
├── build/ # 本工具自身的构建与导出配置
│ ├── profile.py # 编译本工具自身的 custom.py 参考配置
│ ├── project.gdbuild # 精简构建配置(类型裁剪)
│ └── export_presets.cfg # 导出预设(@TEMPLATES_DIR@ 占位,供 CI 使用)
├── build_options_zh.json # 构建选项中文汉化数据
└── .github/
├── workflows/ # CI 工作流:云端远程编译引擎 + 自导出本工具三平台成品
├── scripts/ # 引擎源码兼容性脚本(标准头显式化)
└── GITHUB_ACTIONS.md # GitHub Actions 使用说明
- 选择源码:点击左上角源码按钮,从
sources/扫描结果或文件对话框中选取 Godot 引擎源码目录 - 配置选项:在左侧分组导航与右侧表单中调整编译选项,修改项实时汇总到顶部摘要;支持搜索定位与整组重置
- 导入/导出:可将现有
custom.py导入作为配置基础,或将当前配置导出为custom.py - 开始构建:点击「构建」按钮,控制台实时显示 SCons 输出;构建产物位于源码目录
bin/,日志保存至程序目录logs/ - 设置:在「更多」菜单中配置自定义 Python / SCons 路径、PCK 加密编译密钥、清除 help 缓存或打开终端