#Passing compile time options into a zig program and using them
1 messages · Page 1 of 1 (latest)
const build_options = b.addOptions();
build_options.addOption(bool, "someflag", b.option(bool, "someflag", "description") orelse false);
exe.addOptions("build_options", build_options);
const build_options = @import("build_options");
fn f() void {
if (build_options.someflag) {
} else {
}
}
Works like a charm thanks 🙂 Can you also do this for individual modules in your project out of curiosity?
const build_options = b.addOptions();
build_options.addOption(bool, "someflag", b.option(bool, "someflag", "description") orelse false);
const build_options_module = build_options.createModule();
const my_module = b.addModule("mymodule", .{
.source = .{ .path = "src/mymodule.zig" },
.dependencies = &.{
.{ .name = "build_options", .module = build_options_module },
},
});
exe.addModule("mymodule", my_module);