dotfiles/plugins/mzte-mpv/build.zig

30 lines
1.2 KiB
Zig
Raw Normal View History

const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const lib = b.addSharedLibrary(.{
.name = "mzte-mpv",
.root_source_file = .{ .path = "src/main.zig" },
2024-03-20 20:45:59 +01:00
.link_libc = true,
.target = target,
.optimize = optimize,
});
2024-03-20 20:45:59 +01:00
lib.root_module.addImport("common", b.dependency("common", .{}).module("common"));
2024-04-02 23:07:04 +02:00
// Linking MPV for a plugin is usually undesirable, but it seems to work anyways.
// This is here because Zig will otherwise not find the necessary header files on NixOS,
// and there appears to be no way to obtain an include path using pkg-config without
// also linking.
lib.root_module.linkSystemLibrary("mpv", .{});
const install_step = b.addInstallArtifact(lib, .{
// this is not a standard MPV installation path, but instead one that makes sense.
// this requires a symlink ../../../.local/share/mpv/scripts => ~/.config/mpv/scripts
.dest_dir = .{ .override = .{ .custom = "share/mpv/scripts" } },
.dest_sub_path = "mzte-mpv.so",
});
b.getInstallStep().dependOn(&install_step.step);
}