Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Builder = @import("std").build.Builder;
- const builtin = @import("builtin");
- pub fn build(b: *Builder) void {
- const mode = b.standardReleaseOptions();
- const windows = b.option(bool, "windows", "create windows build") orelse false;
- const msvc = b.option(bool, "msvc", "use msvc") orelse false;
- var exe = b.addExecutable("tetris", "src/main.zig");
- exe.addCSourceFile("stb_image-2.22/stb_image_impl.c", [_][]const u8{"-std=c99"});
- exe.setBuildMode(mode);
- if (windows) {
- if (msvc) {
- exe.setTarget(builtin.Arch.x86_64, builtin.Os.windows, builtin.Abi.msvc);
- exe.setLibCFile("native_libc.txt");
- exe.addIncludeDir("C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.23.28105\\include");
- exe.addIncludeDir("C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\ucrt");
- exe.addIncludeDir("C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\um");
- exe.addIncludeDir("D:\\tools\\vcpkg\\installed\\x86-windows\\include");
- exe.addLibPath("D:\\tools\\vcpkg\\installed\\x86-windows\\lib");
- exe.linkSystemLibrary("glfw3dll");
- } else {
- exe.setTarget(builtin.Arch.x86_64, builtin.Os.windows, builtin.Abi.gnu);
- exe.addIncludeDir("D:\\tools\\include\\");
- exe.addLibPath("D:\\tools\\lib\\GLFW");
- exe.addLibPath("D:\\tools\\lib\\libepoxy");
- exe.linkSystemLibrary("glfw3");
- }
- exe.linkSystemLibrary("User32");
- exe.linkSystemLibrary("Gdi32");
- exe.linkSystemLibrary("shell32");
- }
- exe.addIncludeDir("stb_image-2.22");
- exe.linkSystemLibrary("c");
- exe.linkSystemLibrary("epoxy");
- exe.install();
- const play = b.step("play", "Play the game");
- const run = exe.run();
- run.step.dependOn(b.getInstallStep());
- play.dependOn(&run.step);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement