From dfa42ab7db1a37b6709ef5853f54d6b11f4cbd24 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Sat, 22 Jan 2022 14:42:40 +0100 Subject: [PATCH] use raylib in zig --- .gitignore | 1 + build.zig | 6 ++++++ src/main.zig | 16 ++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..03d24c5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +libraylib.a diff --git a/build.zig b/build.zig index 72f9d8e..82edbfb 100644 --- a/build.zig +++ b/build.zig @@ -1,4 +1,5 @@ const std = @import("std"); +const raylib = @import("./3rdparty/raylib/src/build.zig"); pub fn build(b: *std.build.Builder) void { // Standard target options allows the person running `zig build` to choose @@ -13,6 +14,11 @@ pub fn build(b: *std.build.Builder) void { const exe = b.addExecutable("doggo", "src/main.zig"); exe.setTarget(target); + + const ray = raylib.Pkg("./3rdparty/raylib/src").addRaylib(b, exe.target); + exe.linkLibrary(ray); + exe.addIncludeDir("./3rdparty/raylib/src"); + exe.setBuildMode(mode); exe.install(); diff --git a/src/main.zig b/src/main.zig index a7a7c95..47404c4 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,7 +1,23 @@ const std = @import("std"); +const ray = @cImport({ + @cInclude("raylib.h"); +}); pub fn main() anyerror!void { std.log.info("All your codebase are belong to us.", .{}); + + ray.InitWindow(800, 450, "ray [core] example - basic window"); + defer ray.CloseWindow(); + + while (!ray.WindowShouldClose()) + { + ray.BeginDrawing(); + defer ray.EndDrawing(); + + ray.ClearBackground(ray.RAYWHITE); + ray.DrawText("Congrats! You created your first window!", 190, 200, 20, ray.LIGHTGRAY); + } + } test "basic test" {