2023-08-08 23:47:01 -06:00
|
|
|
const std = @import("std");
|
|
|
|
|
|
|
|
pub fn build(b: *std.Build) void {
|
|
|
|
const target = b.standardTargetOptions(.{});
|
|
|
|
const optimize = b.standardOptimizeOption(.{});
|
|
|
|
|
2024-01-16 20:39:35 -07:00
|
|
|
const xkbcommon_module = b.createModule(.{
|
|
|
|
.root_source_file = .{ .path = "deps/zig-xkbcommon/src/xkbcommon.zig" },
|
|
|
|
});
|
|
|
|
|
2023-08-08 23:47:01 -06:00
|
|
|
const module = b.addModule("wayland", .{
|
2024-01-16 01:21:38 -07:00
|
|
|
.root_source_file = .{ .path = "src/main.zig" },
|
2023-08-08 23:47:01 -06:00
|
|
|
});
|
|
|
|
|
|
|
|
const lib = b.addStaticLibrary(.{
|
|
|
|
.name = "zig-wayland-wire",
|
|
|
|
.root_source_file = .{ .path = "src/main.zig" },
|
|
|
|
.target = target,
|
|
|
|
.optimize = optimize,
|
|
|
|
});
|
|
|
|
b.installArtifact(lib);
|
|
|
|
|
|
|
|
const main_tests = b.addTest(.{
|
|
|
|
.root_source_file = .{ .path = "src/main.zig" },
|
|
|
|
.target = target,
|
|
|
|
.optimize = optimize,
|
|
|
|
});
|
|
|
|
|
|
|
|
const run_main_tests = b.addRunArtifact(main_tests);
|
|
|
|
|
|
|
|
const test_step = b.step("test", "Run library tests");
|
|
|
|
test_step.dependOn(&run_main_tests.step);
|
|
|
|
|
2023-12-18 12:01:28 -07:00
|
|
|
const client_connect_raw_exe = b.addExecutable(.{
|
|
|
|
.name = "00_client_connect",
|
|
|
|
.root_source_file = .{ .path = "examples/00_client_connect.zig" },
|
|
|
|
.target = target,
|
|
|
|
.optimize = optimize,
|
|
|
|
});
|
|
|
|
b.installArtifact(client_connect_raw_exe);
|
|
|
|
|
2023-08-08 23:47:01 -06:00
|
|
|
const client_connect_exe = b.addExecutable(.{
|
2023-12-18 12:01:28 -07:00
|
|
|
.name = "01_client_connect",
|
2023-08-08 23:47:01 -06:00
|
|
|
.root_source_file = .{ .path = "examples/01_client_connect.zig" },
|
|
|
|
.target = target,
|
|
|
|
.optimize = optimize,
|
|
|
|
});
|
2024-01-16 01:21:38 -07:00
|
|
|
client_connect_exe.root_module.addImport("wayland", module);
|
2023-08-08 23:47:01 -06:00
|
|
|
b.installArtifact(client_connect_exe);
|
2024-01-30 14:12:50 -07:00
|
|
|
|
|
|
|
const text_editor_exe = b.addExecutable(.{
|
|
|
|
.name = "02_text_editor",
|
|
|
|
.root_source_file = .{ .path = "examples/02_text_editor.zig" },
|
|
|
|
.target = target,
|
|
|
|
.optimize = optimize,
|
|
|
|
});
|
|
|
|
text_editor_exe.root_module.addImport("wayland", module);
|
|
|
|
text_editor_exe.root_module.addImport("xkbcommon", xkbcommon_module);
|
|
|
|
text_editor_exe.linkLibC();
|
|
|
|
text_editor_exe.linkSystemLibrary("xkbcommon");
|
|
|
|
text_editor_exe.addIncludePath(.{ .path = "deps/font8x8/" });
|
|
|
|
b.installArtifact(text_editor_exe);
|
2023-08-08 23:47:01 -06:00
|
|
|
}
|