| ... | ... | @@ -509,7 +509,26 @@ pub const Builder = struct { |
| 509 | 509 | return null; |
| 510 | 510 | }, |
| 511 | 511 | }, |
| 512 | | .Float => panic("TODO float options to build script", .{}), |
| 512 | .Float => switch (entry.value.value) { |
| 513 | .Flag => { |
| 514 | warn("Expected -D{} to be a float, but received a boolean.\n", .{name}); |
| 515 | self.markInvalidUserInput(); |
| 516 | return null; |
| 517 | }, |
| 518 | .Scalar => |s| { |
| 519 | const n = std.fmt.parseFloat(T, s) catch |err| { |
| 520 | warn("Expected -D{} to be a float of type {}.\n", .{ name, @typeName(T) }); |
| 521 | self.markInvalidUserInput(); |
| 522 | return null; |
| 523 | }; |
| 524 | return n; |
| 525 | }, |
| 526 | .List => { |
| 527 | warn("Expected -D{} to be a float, but received a list.\n", .{name}); |
| 528 | self.markInvalidUserInput(); |
| 529 | return null; |
| 530 | }, |
| 531 | }, |
| 513 | 532 | .Enum => switch (entry.value.value) { |
| 514 | 533 | .Flag => { |
| 515 | 534 | warn("Expected -D{} to be a string, but received a boolean.\n", .{name}); |