diff --git a/lib.zig b/lib.zig index d249b4c..c82b362 100644 --- a/lib.zig +++ b/lib.zig @@ -84,9 +84,9 @@ pub fn Pkg(pkgdir: comptime []const u8) type { std.debug.warn("unable to create child process for git. build interrupted\n", .{}); std.os.exit(1); }; - + git_proc.cwd = pkgdir; const term = git_proc.spawnAndWait() catch { - std.debug.warn("unable to spawn child processfor git. build interrupted\n", .{}); + std.debug.warn("unable to spawn child process for git. build interrupted\n", .{}); std.os.exit(1); }; diff --git a/projectSetup.sh b/projectSetup.sh index 5c47142..ce82ed5 100755 --- a/projectSetup.sh +++ b/projectSetup.sh @@ -6,27 +6,35 @@ fi 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").Pkg("raylib-zig"); //call .Pkg() with the folder raylib-zig is in relative to project build.zig -echo 'const Builder = @import("std").build.Builder; pub fn build(b: *Builder) void { const mode = b.standardReleaseOptions(); - const exe = b.addExecutable("'"$PROJECT_NAME"'", "src/main.zig"); + const target = b.standardTargetOptions(.{}); + + const system_lib = b.option(bool, "system-raylib", "link to preinstalled raylib libraries") orelse false; + + const exe = b.addExecutable("'$PROJECT_NAME'", "src/main.zig"); exe.setBuildMode(mode); - exe.linkSystemLibrary("raylib"); - exe.addPackagePath("raylib", "raylib-zig/raylib-zig.zig"); - exe.install(); + exe.setTarget(target); + + raylib.link(exe, system_lib); + raylib.addAsPackage("raylib", exe); + raylib.math.addAsPackage("raylib-math", exe); const run_cmd = exe.run(); - run_cmd.step.dependOn(b.getInstallStep()); - - const run_step = b.step("run", "Run the app"); + const run_step = b.step("run", "run '$PROJECT_NAME'"); run_step.dependOn(&run_cmd.step); + + exe.install(); } ' >> build.zig mkdir src -mkdir raylib-zig -cp ../lib/* raylib-zig -cp ../examples/core/basic_window.zig src -mv src/basic_window.zig src/main.zig \ No newline at end of file +cp ../examples/core/basic_window.zig src/main.zig +echo "cloning raylib-zig inside of project..." +git clone ../ raylib-zig