zig-wayland-wire/build.zig

67 lines
2.1 KiB
Zig

const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const libxkbcommon = b.dependency("libxkbcommon", .{
.target = target,
.optimize = optimize,
});
const module = b.addModule("wayland", .{
.root_source_file = .{ .path = "src/main.zig" },
.imports = &.{
.{ .name = "xkbcommon", .module = libxkbcommon.module("xkbcommon") },
},
});
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);
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);
const client_connect_exe = b.addExecutable(.{
.name = "01_client_connect",
.root_source_file = .{ .path = "examples/01_client_connect.zig" },
.target = target,
.optimize = optimize,
});
client_connect_exe.root_module.addImport("wayland", module);
b.installArtifact(client_connect_exe);
// Text Editor example
const text_editor_exe = b.addExecutable(.{
.name = "10_text_editor",
.root_source_file = .{ .path = "examples/10_text_editor.zig" },
.target = target,
.optimize = optimize,
});
text_editor_exe.root_module.addImport("wayland", module);
text_editor_exe.linkLibC();
text_editor_exe.addIncludePath(.{ .path = "deps/font8x8/" });
b.installArtifact(text_editor_exe);
}