blob: 3ee8ffe74656d837d406470620df21ace8baffd0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
const std = @import("std");
const builtin = @import("builtin");
/// Require a specific version of Zig to build this project.
pub fn requireZig(comptime required_zig: []const u8) void {
// Fail compilation if the current Zig version doesn't meet requirements.
const current_vsn = builtin.zig_version;
const required_vsn = std.SemanticVersion.parse(required_zig) catch unreachable;
if (current_vsn.major != required_vsn.major or
current_vsn.minor != required_vsn.minor or
current_vsn.patch < required_vsn.patch)
{
@compileError(std.fmt.comptimePrint(
"Your Zig version v{f} does not meet the required build version of v{f}",
.{ current_vsn, required_vsn },
));
}
}
|