const std = @import("std"); pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); const exe = b.addExecutable(.{ .name = "mgl-zig-example", .root_source_file = .{ .path = "src/main.zig" }, .target = target, .optimize = optimize, }); exe.addCSourceFiles(&[_][]const u8{ "depends/mgl/src/graphics/texture.c", "depends/mgl/src/graphics/sprite.c", "depends/mgl/src/graphics/image.c", "depends/mgl/src/graphics/font_char_map.c", "depends/mgl/src/graphics/font.c", "depends/mgl/src/graphics/vertex.c", "depends/mgl/src/graphics/primitive_type.c", "depends/mgl/src/graphics/vertex_buffer.c", "depends/mgl/src/graphics/text.c", "depends/mgl/src/graphics/shader.c", "depends/mgl/src/graphics/rectangle.c", "depends/mgl/src/system/fileutils.c", "depends/mgl/src/system/utf8.c", "depends/mgl/src/system/clock.c", "depends/mgl/src/mgl.c", "depends/mgl/src/window/window.c", "depends/mgl/src/gl.c", }, &[_][]const u8{ "-Wall", "-Wextra", }); exe.addIncludePath(.{ .path = "depends/mgl/include" }); exe.linkSystemLibrary("x11"); exe.linkSystemLibrary("xrender"); exe.linkLibC(); exe.strip = optimize != std.builtin.OptimizeMode.Debug; exe.single_threaded = true; exe.want_lto = optimize != std.builtin.OptimizeMode.Debug; 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); }