Passing build option to code from the zig command line?

In build.zig:

const use_native_c_inner_loops = b.option(bool, "loops", "use native C inner loops") orelse false;
const options = b.addOptions();
options.addOption(bool, "use_native_c_inner_loops", use_native_c_inner_loops);
exe.addOptions("config", options);

Then in your code

const config = @import("config");

if (config.use_native_c_inner_loops) ...

This means that you can do zig build run -Dloops to enagle the feature.

6 Likes