const std = @import("std"); pub fn build(b: *std.Build) void { const optimize = b.standardOptimizeOption(.{}); const target = b.standardTargetOptions(.{}); const have_ffmpeg = b.option(bool, "textures", "enable texture/video support (needs ffmpeg)") orelse true; const exe = b.addExecutable(.{ .name = "glsl-view", .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }); const options = b.addOptions(); options.addOption(bool, "have_ffmpeg", have_ffmpeg); exe.root_module.addOptions("build_config", options); exe.linkLibC(); exe.linkSystemLibrary("yaml-0.1"); exe.linkSystemLibrary("glfw3"); exe.linkSystemLibrary("epoxy"); exe.linkSystemLibrary("liblo"); if (have_ffmpeg) { exe.linkSystemLibrary("libavcodec"); exe.linkSystemLibrary("libavformat"); exe.linkSystemLibrary("libavutil"); exe.linkSystemLibrary("libswscale"); } b.installArtifact(exe); const run_cmd = b.addRunArtifact(exe); run_cmd.step.dependOn(b.getInstallStep()); if (b.args) |args| { run_cmd.addArgs(args); } const run_step = b.step("run", "Run the app"); run_step.dependOn(&run_cmd.step); }