Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › Build.zig › standardOptimizeOption
standardOptimizeOption
Build.standardOptimizeOption
pub fn standardOptimizeOption (b : *Build , options : StandardOptimizeOptionOptions ) std .builtin .OptimizeMode
File
Code
pub fn standardOptimizeOption (b : *Build , options : StandardOptimizeOptionOptions ) std .builtin .OptimizeMode {
const graph = b .graph ;
if (options .preferred_optimize_mode ) |mode | {
if (b .option (bool , "release" , "optimize for end users" ) orelse (graph .release_mode != .off )) {
return mode ;
} else {
return .Debug ;
}
}
if (b .option (
std .builtin .OptimizeMode ,
"optimize" ,
"Prioritize performance, safety, or binary size" ,
)) |mode | {
return mode ;
}
return switch (graph .release_mode ) {
.off => .debug ,
.any => {
std .debug .print ("the project does not declare a preferred optimization mode. choose: --release=fast, --release=safe, or --release=small\n" , .{});
process .exit (1 );
},
.fast => .fast ,
.safe => .safe ,
.small => .small ,
};
}