std.Build: add support for passing comptime_int, float and comptime_float options

This commit is contained in:
L zard 2024-07-04 10:39:17 +02:00 committed by Andrew Kelley
parent 7e76818132
commit 7aea384e44

View file

@ -465,13 +465,20 @@ fn userInputOptionsFromArgs(allocator: Allocator, args: anytype) UserInputOption
.used = false, .used = false,
}) catch @panic("OOM"); }) catch @panic("OOM");
}, },
.Int => { .ComptimeInt, .Int => {
user_input_options.put(field.name, .{ user_input_options.put(field.name, .{
.name = field.name, .name = field.name,
.value = .{ .scalar = std.fmt.allocPrint(allocator, "{d}", .{v}) catch @panic("OOM") }, .value = .{ .scalar = std.fmt.allocPrint(allocator, "{d}", .{v}) catch @panic("OOM") },
.used = false, .used = false,
}) catch @panic("OOM"); }) catch @panic("OOM");
}, },
.ComptimeFloat, .Float => {
user_input_options.put(field.name, .{
.name = field.name,
.value = .{ .scalar = std.fmt.allocPrint(allocator, "{e}", .{v}) catch @panic("OOM") },
.used = false,
}) catch @panic("OOM");
},
else => @compileError("option '" ++ field.name ++ "' has unsupported type: " ++ @typeName(T)), else => @compileError("option '" ++ field.name ++ "' has unsupported type: " ++ @typeName(T)),
}, },
} }