build.zig可以看到下面的编译时运行代码

comptime {
    buildpkg.requireZig("0.14.0");
}

光从代码上就可以很明显认识到,用于检查当前环境的zig版本是否满足指定的版本

const std = @import("std");
const builtin = @import("builtin");
 
pub fn requireZig(comptime required_zig: []const u8) void {
    // builtin是zig编译器在编译时自动提供的,用于获取编译时信息。比如这里的zig版本号
    const current_vsn = builtin.zig_version;
    // 使用标准库从字符串中解析出zig版本语义
    const required_vsn = std.SemanticVersion.parse(required_zig) catch unreachable;
    // 确保major, minor版本一致,否则要抛出编译时错误
    if (current_vsn.major != required_vsn.major or
        current_vsn.minor != required_vsn.minor)
    {
        @compileError(std.fmt.comptimePrint(
            "Your Zig version v{} does not meet the required build version of v{}",
            .{ current_vsn, required_vsn },
        ));
    }
}

通过上面的代码,使用zig进行构建的时候会做版本检查,不通过直接编译报错。