load a runtime file where the prefix is determined at comptime

This commit is contained in:
Squibid 2025-10-20 22:53:17 -04:00
parent ba4d403119
commit 86a01bbcf2
Signed by: squibid
GPG key ID: BECE5684D3C4005D
4 changed files with 59 additions and 8 deletions

View file

@ -1,4 +1,5 @@
const std = @import("std");
const builtin = @import("builtin");
const Scanner = @import("wayland").Scanner;
@ -6,6 +7,13 @@ pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
// TODO: this will probably change based on the install paths, make this a var
// that can be passed at comptime?
const runtime_path_prefix = switch (builtin.mode) {
.Debug => "runtime/",
else => "/usr/share",
};
// If instead your goal is to create an executable, consider if users might
// be interested in also being able to embed the core functionality of your
// program in their own executable in order to avoid the overhead involved in
@ -60,6 +68,10 @@ pub fn build(b: *std.Build) void {
mez.linkSystemLibrary("xkbcommon");
mez.linkSystemLibrary("pixman-1");
const options = b.addOptions();
options.addOption([]const u8, "runtime_path_prefix", runtime_path_prefix);
mez.root_module.addOptions("config", options);
b.installArtifact(mez);
const run_step = b.step("run", "Run the app");