从源码构建

本页面为自动翻译,可能包含错误。如果发现问题,请通过“编辑此页面”链接帮助修正。

适用于想要在引擎本身上工作的贡献者和开发者。

系统要求

工具 版本 备注
Zig 必须为 0.16.0 不支持 0.15 及更早版本
Git 任意
Git LFS 任意 examples/ 中的二进制资源需要

克隆与构建

git lfs install            # 每台机器只需执行一次
git clone {{< param repo >}}.git
cd turian

zig build          # 编译 studio + CLI(Debug 模式)
zig build run      # 编译并启动 Turian Studio
zig build test     # 运行所有单元测试
zig build ci       # 测试 + ReleaseFast(与 CI 一致)

输出的二进制文件位于 zig-out/bin/

  • turian-studio — GUI 编辑器
  • turian-cli — 无头 CLI

CLI 用法(从源码)

./zig-out/bin/turian-cli new-project ../my-game "My Game"
./zig-out/bin/turian-cli info        ../my-game
./zig-out/bin/turian-cli build       ../my-game

添加内置组件

  1. 创建 engine/components/MyComponent.zig
    pub const MyComponent = struct {
        value: f32 = 1.0,
    };
    
  2. engine/components/root.zig 中注册。
  3. engine/scene/Component.zigComponent 联合体中添加标签。
  4. 更新 BuiltinEntry.zigscanner.zigpopulateBuiltins)。

运行测试

zig build test

测试使用 Zig 内置的 test 块内联存放在源文件中。

平台支持与交叉编译

Studio 和 CLI 可在 Linux、Windows 和 macOS 上构建和运行。Studio 使用 SDL3-GPU,并优先选择 Vulkan 设备(SPIRV 3D 视口所需),当 Vulkan 不可用时会回退到平台默认值(Windows 上为 D3D12,macOS 上为 Metal)——在这种情况下,编辑器 UI 仍可完全正常工作,只有 3D 场景视口会 显示*"不可用"*。

Zig 可以在没有 Windows 工具链的情况下,从 Linux 交叉编译整个 Studio(SDL3、 dvui 和 freetype 均从源码构建):

zig build -Dtarget=x86_64-windows-gnu -Dno-test

生成的 turian-studio.exe 是自包含的(SDL3 是静态链接的),可以在 Wine 下 进行冒烟测试。


← 所有文档 编辑此页面