| ... | ... | @@ -1678,6 +1678,16 @@ pub const LibExeObjStep = struct { |
| 1678 | 1678 | |
| 1679 | 1679 | pub fn addBuildOption(self: *LibExeObjStep, comptime T: type, name: []const u8, value: T) void { |
| 1680 | 1680 | const out = self.build_options_contents.outStream(); |
| 1681 | switch (@typeInfo(T)) { |
| 1682 | .Enum => |enum_info| { |
| 1683 | out.print("const {} = enum {{\n", .{@typeName(T)}) catch unreachable; |
| 1684 | inline for (enum_info.fields) |field| { |
| 1685 | out.print(" {},\n", .{ field.name }) catch unreachable; |
| 1686 | } |
| 1687 | out.print("}};\n", .{}) catch unreachable; |
| 1688 | }, |
| 1689 | else => {}, |
| 1690 | } |
| 1681 | 1691 | out.print("pub const {} = {};\n", .{ name, value }) catch unreachable; |
| 1682 | 1692 | } |
| 1683 | 1693 | |