Advertisement
Guest User

Untitled

a guest
Sep 29th, 2019
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. const Builder = @import("std").build.Builder;
  2. const builtin = @import("builtin");
  3.  
  4. pub fn build(b: *Builder) void {
  5. const mode = b.standardReleaseOptions();
  6. const windows = b.option(bool, "windows", "create windows build") orelse false;
  7. const msvc = b.option(bool, "msvc", "use msvc") orelse false;
  8.  
  9. var exe = b.addExecutable("tetris", "src/main.zig");
  10. exe.addCSourceFile("stb_image-2.22/stb_image_impl.c", [_][]const u8{"-std=c99"});
  11. exe.setBuildMode(mode);
  12.  
  13. if (windows) {
  14. if (msvc) {
  15. exe.setTarget(builtin.Arch.x86_64, builtin.Os.windows, builtin.Abi.msvc);
  16. exe.setLibCFile("native_libc.txt");
  17. exe.addIncludeDir("C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.23.28105\\include");
  18. exe.addIncludeDir("C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\ucrt");
  19. exe.addIncludeDir("C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\um");
  20.  
  21. exe.addIncludeDir("D:\\tools\\vcpkg\\installed\\x86-windows\\include");
  22. exe.addLibPath("D:\\tools\\vcpkg\\installed\\x86-windows\\lib");
  23.  
  24. exe.linkSystemLibrary("glfw3dll");
  25. } else {
  26. exe.setTarget(builtin.Arch.x86_64, builtin.Os.windows, builtin.Abi.gnu);
  27. exe.addIncludeDir("D:\\tools\\include\\");
  28.  
  29. exe.addLibPath("D:\\tools\\lib\\GLFW");
  30. exe.addLibPath("D:\\tools\\lib\\libepoxy");
  31.  
  32. exe.linkSystemLibrary("glfw3");
  33. }
  34.  
  35. exe.linkSystemLibrary("User32");
  36. exe.linkSystemLibrary("Gdi32");
  37. exe.linkSystemLibrary("shell32");
  38. }
  39.  
  40. exe.addIncludeDir("stb_image-2.22");
  41. exe.linkSystemLibrary("c");
  42. exe.linkSystemLibrary("epoxy");
  43.  
  44. exe.install();
  45.  
  46. const play = b.step("play", "Play the game");
  47. const run = exe.run();
  48. run.step.dependOn(b.getInstallStep());
  49. play.dependOn(&run.step);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement