From ec45e3318991846546826284259b0a2094306f07 Mon Sep 17 00:00:00 2001 From: Not-Nik Date: Sat, 5 Aug 2023 20:22:53 +0200 Subject: [PATCH] Update project setup script --- build.zig | 9 ++++----- project_setup.sh | 30 ++++++++++++++---------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/build.zig b/build.zig index b3a06cc..531e6ee 100755 --- a/build.zig +++ b/build.zig @@ -1,7 +1,6 @@ // raylib-zig (c) Nikolas Wipper 2020-2023 const std = @import("std"); -const Builder = std.build.Builder; const rl = @This(); const Program = struct { @@ -10,7 +9,7 @@ const Program = struct { desc: []const u8, }; -pub fn linkRaylib(b: *std.Build, exe: *std.Build.Step.Compile, target: std.zig.CrossTarget, optimize: std.builtin.Mode) void { +pub fn link(b: *std.Build, exe: *std.Build.Step.Compile, target: std.zig.CrossTarget, optimize: std.builtin.Mode) void { const raylib = b.dependency("raylib", .{ .target = target, .optimize = optimize, @@ -150,13 +149,13 @@ pub fn build(b: *std.Build) void { const system_lib = b.option(bool, "system-raylib", "link to preinstalled raylib libraries") orelse false; _ = system_lib; - var raylib = getModule(b); - var raylib_math = math.getModule(b); + var raylib = rl.getModule(b); + var raylib_math = rl.math.getModule(b); for (examples) |ex| { const exe = b.addExecutable(.{ .name = ex.name, .root_source_file = .{ .path = ex.path }, .optimize = optimize, .target = target }); - linkRaylib(b, exe, target, optimize); + rl.link(b, exe, target, optimize); exe.addModule("raylib", raylib); exe.addModule("raylib-math", raylib_math); diff --git a/project_setup.sh b/project_setup.sh index 94d54e3..42c0a9e 100755 --- a/project_setup.sh +++ b/project_setup.sh @@ -10,33 +10,31 @@ mkdir "$PROJECT_NAME" && cd "$PROJECT_NAME" || exit touch build.zig echo "generating project files..." echo 'const std = @import("std"); -const Builder = std.build.Builder; -const raylib = @import("raylib-zig/lib.zig"); //call .Pkg() with the folder raylib-zig is in relative to project build.zig +const rl = @import("raylib-zig/build.zig"); - -pub fn build(b: *Builder) void { - const mode = b.standardReleaseOptions(); +pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); - const system_lib = b.option(bool, "system-raylib", "link to preinstalled raylib libraries") orelse false; + var raylib = rl.getModule(b); + var raylib_math = rl.math.getModule(b); - const exe = b.addExecutable("'$PROJECT_NAME'", "src/main.zig"); - exe.setBuildMode(mode); - exe.setTarget(target); + const exe = b.addExecutable(.{ .name = "'$PROJECT_NAME'", .root_source_file = .{ .path = "src/main.zig" }, .optimize = optimize, .target = target }); + + rl.link(b, exe, target, optimize); + exe.addModule("raylib", raylib); + exe.addModule("raylib-math", raylib_math); - raylib.link(exe, system_lib); - raylib.addAsPackage("raylib", exe); - raylib.math.addAsPackage("raylib-math", exe); - - const run_cmd = exe.run(); - const run_step = b.step("run", "run '$PROJECT_NAME'"); + const run_cmd = b.addRunArtifact(exe); + const run_step = b.step("run", "Run '$PROJECT_NAME'"); run_step.dependOn(&run_cmd.step); - exe.install(); + b.installArtifact(exe); } ' >> build.zig mkdir src cp ../examples/core/basic_window.zig src/main.zig +cp ../build.zig.zon . echo "cloning raylib-zig inside of project..." git clone ../ raylib-zig --recursive