adapt projectSetup.sh for use with lib.zig and raylib submodule

This commit is contained in:
Jesse Rudolph 2020-05-24 18:13:31 -05:00
parent 8771f17efb
commit 7fc94954b9
2 changed files with 22 additions and 14 deletions

View File

@ -84,7 +84,7 @@ pub fn Pkg(pkgdir: comptime []const u8) type {
std.debug.warn("unable to create child process for git. build interrupted\n", .{}); std.debug.warn("unable to create child process for git. build interrupted\n", .{});
std.os.exit(1); std.os.exit(1);
}; };
git_proc.cwd = pkgdir;
const term = git_proc.spawnAndWait() catch { const term = git_proc.spawnAndWait() catch {
std.debug.warn("unable to spawn child process for git. build interrupted\n", .{}); std.debug.warn("unable to spawn child process for git. build interrupted\n", .{});
std.os.exit(1); std.os.exit(1);

View File

@ -6,27 +6,35 @@ fi
mkdir "$PROJECT_NAME" && cd "$PROJECT_NAME" || exit mkdir "$PROJECT_NAME" && cd "$PROJECT_NAME" || exit
touch build.zig 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 { pub fn build(b: *Builder) void {
const mode = b.standardReleaseOptions(); 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.setBuildMode(mode);
exe.linkSystemLibrary("raylib"); exe.setTarget(target);
exe.addPackagePath("raylib", "raylib-zig/raylib-zig.zig");
exe.install(); raylib.link(exe, system_lib);
raylib.addAsPackage("raylib", exe);
raylib.math.addAsPackage("raylib-math", exe);
const run_cmd = exe.run(); const run_cmd = exe.run();
run_cmd.step.dependOn(b.getInstallStep()); const run_step = b.step("run", "run '$PROJECT_NAME'");
const run_step = b.step("run", "Run the app");
run_step.dependOn(&run_cmd.step); run_step.dependOn(&run_cmd.step);
exe.install();
} }
' >> build.zig ' >> build.zig
mkdir src mkdir src
mkdir raylib-zig cp ../examples/core/basic_window.zig src/main.zig
cp ../lib/* raylib-zig echo "cloning raylib-zig inside of project..."
cp ../examples/core/basic_window.zig src git clone ../ raylib-zig
mv src/basic_window.zig src/main.zig