Assumes unused capacity for at least 2 items.
pub fn appendIncludeDirFlags(
arena: Allocator,
include_dir: Configuration.Module.IncludeDir,
zig_args: *std.ArrayList([]const u8),
asking_step: Configuration.Step.Index,
maker: *const Maker,
) !void
pub fn appendIncludeDirFlags(
arena: Allocator,
include_dir: Configuration.Module.IncludeDir,
zig_args: *std.ArrayList([]const u8),
asking_step: Configuration.Step.Index,
maker: *const Maker,
) !void {
const conf = &maker.scanned_config.configuration;
switch (include_dir) {
.path => |lp| {
zig_args.appendAssumeCapacity("-I");
zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
},
.path_system => |lp| {
zig_args.appendAssumeCapacity("-isystem");
zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
},
.path_after => |lp| {
zig_args.appendAssumeCapacity("-idirafter");
zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
},
.framework_path => |lp| {
zig_args.appendAssumeCapacity("-F");
zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
},
.framework_path_system => |lp| {
zig_args.appendAssumeCapacity("-iframework");
zig_args.appendAssumeCapacity(try maker.resolveLazyPathIndexAbs(arena, lp, asking_step));
},
.config_header_step => |ch_index| {
const conf_ch = ch_index.ptr(conf).extended.get(conf.extra).config_header;
const path = maker.generatedPath(conf_ch.generated_dir).*;
zig_args.appendAssumeCapacity("-I");
zig_args.appendAssumeCapacity(try path.toString(arena));
},
.embed_path => |lazy_path| {
zig_args.appendAssumeCapacity(try arena.print("--embed-dir={f}", .{
try maker.resolveLazyPathIndex(arena, lazy_path, asking_step),
}));
},
}
}