Changes
1 changed files (+27/-21)
-
-
@@ -39,20 +39,24 @@break :core dep.artifact("plac_core"); }; const gresources = [_][]const u8{ "data/ui/main-window.ui", "data/ui/server-list.ui", "data/ui/generic-error-dialog.ui", "data/ui/server-connecting.ui", "data/ui/server-list-unexpected-error-dialog.ui", "data/ui/server-list-network-error-dialog.ui", "data/icons/scalable/actions/item-missing-symbolic.svg", }; // Vala source codes to compile. const vala_sources: [][]const u8 = vala_sources: { var list = std.ArrayList([]const u8).init(b.allocator); // Vala source codes to compile. As Vala does not have module system, // we have to list every source code files to include. const vala_sources = [_][]const u8{ "src/Application.vala", var dir = try std.fs.cwd().openDir("src", .{ .iterate = true }); defer dir.close(); var walker = try dir.walk(b.allocator); defer walker.deinit(); while (try walker.next()) |entry| { const ext = std.fs.path.extension(entry.basename); if (std.mem.eql(u8, ".vala", ext)) { try list.append(b.dupe(entry.path)); } } break :vala_sources try list.toOwnedSlice(); }; // System libraries to link.
-
@@ -97,9 +101,13 @@ // ".zig-cache/o/hash-or-something-idk/vala/src/Foo.c"valac.addArg("--directory"); const dir = valac.addOutputDirectoryArg("vala"); // Let valac emit C source code without "src/" prefix. valac.addArg("--basedir"); valac.addDirectoryArg(b.path("src")); // Vala compiler takes a list of Vala source files, then process them all. for (vala_sources) |src| { valac.addFileArg(b.path(src)); valac.addFileArg(b.path(b.pathJoin(&.{ "src", src }))); } const t = b.addInstallDirectory(.{
-
@@ -116,18 +124,16 @@const gresouce_c = gresource: { const compiler = b.addSystemCommand(&.{"glib-compile-resources"}); // glib-compile-resouces resolves every paths from CWD. compiler.cwd = b.path("data"); compiler.addArg("--sourcedir"); compiler.addDirectoryArg(b.path("data")); compiler.addFileArg(b.path("data/gresource.xml")); // Invalidate build cache whenever a file inside "data/" has changed. for (gresources) |r| { compiler.addFileInput(b.path(r)); } compiler.addArg("--target"); const built_c = compiler.addOutputFileArg("gresource.c"); compiler.addArg("--dependency-file"); _ = compiler.addDepFileOutputArg("resource.d"); compiler.addArg("--generate-source");
-