authorgravatar for marc@tiehu.isMarc Tiehuis <marc@tiehu.is> 2018-03-14 22:19:51+13:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-03-17 18:15:35-04:00
logbea9e9c7f8abc1e270dd2ea0065934b32627288c
tree629df4e8022ce510f9f6eced0ebc460fe7b60e86
parentbbad0fa411ba9e0fcabaae87892d3655dc450513

Add addIncludeDir to TestStep + fix build template

Closes #794.

2 files changed, 12 insertions(+), 1 deletions(-)

std/build.zig+11
......@@ -1627,6 +1627,7 @@ pub const TestStep = struct {
16271627 filter: ?[]const u8,
16281628 target: Target,
16291629 exec_cmd_args: ?[]const ?[]const u8,
1630 include_dirs: ArrayList([]const u8),
16301631
16311632 pub fn init(builder: &Builder, root_src: []const u8) TestStep {
16321633 const step_name = builder.fmt("test {}", root_src);
......@@ -1641,6 +1642,7 @@ pub const TestStep = struct {
16411642 .link_libs = BufSet.init(builder.allocator),
16421643 .target = Target { .Native = {} },
16431644 .exec_cmd_args = null,
1645 .include_dirs = ArrayList([]const u8).init(builder.allocator),
16441646 };
16451647 }
16461648
......@@ -1648,6 +1650,10 @@ pub const TestStep = struct {
16481650 self.verbose = value;
16491651 }
16501652
1653 pub fn addIncludeDir(self: &TestStep, path: []const u8) void {
1654 self.include_dirs.append(path) catch unreachable;
1655 }
1656
16511657 pub fn setBuildMode(self: &TestStep, mode: builtin.Mode) void {
16521658 self.build_mode = mode;
16531659 }
......@@ -1746,6 +1752,11 @@ pub const TestStep = struct {
17461752 }
17471753 }
17481754
1755 for (self.include_dirs.toSliceConst()) |include_path| {
1756 try zig_args.append("-isystem");
1757 try zig_args.append(builder.pathFromRoot(include_path));
1758 }
1759
17491760 for (builder.include_paths.toSliceConst()) |include_path| {
17501761 try zig_args.append("-isystem");
17511762 try zig_args.append(builder.pathFromRoot(include_path));
std/special/build_file_template.zig+1-1
......@@ -1,6 +1,6 @@
11const Builder = @import("std").build.Builder;
22
3pub fn build(b: &Builder) !void {
3pub fn build(b: &Builder) void {
44 const mode = b.standardReleaseOptions();
55 const exe = b.addExecutable("YOUR_NAME_HERE", "src/main.zig");
66 exe.setBuildMode(mode);