Added live error checking
This commit is contained in:
parent
2524dbf206
commit
ac6cb02184
22
build.zig
22
build.zig
@ -6,6 +6,8 @@ pub fn build(b: *std.Build) void {
|
|||||||
|
|
||||||
const dep_sokol = b.dependency("sokol", .{ .target = target, .optimize = optimize });
|
const dep_sokol = b.dependency("sokol", .{ .target = target, .optimize = optimize });
|
||||||
|
|
||||||
|
// Exe
|
||||||
|
|
||||||
const exe = b.addExecutable(.{
|
const exe = b.addExecutable(.{
|
||||||
.name = "sok",
|
.name = "sok",
|
||||||
.root_source_file = b.path("src/main.zig"),
|
.root_source_file = b.path("src/main.zig"),
|
||||||
@ -15,11 +17,27 @@ pub fn build(b: *std.Build) void {
|
|||||||
|
|
||||||
exe.root_module.addImport("sokol", dep_sokol.module("sokol"));
|
exe.root_module.addImport("sokol", dep_sokol.module("sokol"));
|
||||||
|
|
||||||
// Set this to hide console
|
// Set this to hide console on windows
|
||||||
//exe.subsystem = .Windows;
|
//exe.subsystem = .Windows;
|
||||||
|
|
||||||
b.installArtifact(exe);
|
b.installArtifact(exe);
|
||||||
|
|
||||||
|
// Check step (for ZLS)
|
||||||
|
|
||||||
|
const exe_check = b.addExecutable(.{
|
||||||
|
.name = "check_step",
|
||||||
|
.root_source_file = b.path("src/main.zig"),
|
||||||
|
.target = target,
|
||||||
|
.optimize = optimize,
|
||||||
|
});
|
||||||
|
|
||||||
|
exe_check.root_module.addImport("sokol", dep_sokol.module("sokol"));
|
||||||
|
|
||||||
|
const check = b.step("check", "Check if project compiles");
|
||||||
|
check.dependOn(&exe_check.step);
|
||||||
|
|
||||||
|
// Run
|
||||||
|
|
||||||
const run_cmd = b.addRunArtifact(exe);
|
const run_cmd = b.addRunArtifact(exe);
|
||||||
|
|
||||||
run_cmd.step.dependOn(b.getInstallStep());
|
run_cmd.step.dependOn(b.getInstallStep());
|
||||||
@ -31,6 +49,8 @@ pub fn build(b: *std.Build) void {
|
|||||||
const run_step = b.step("run", "Run the app");
|
const run_step = b.step("run", "Run the app");
|
||||||
run_step.dependOn(&run_cmd.step);
|
run_step.dependOn(&run_cmd.step);
|
||||||
|
|
||||||
|
// Tests
|
||||||
|
|
||||||
const exe_unit_tests = b.addTest(.{
|
const exe_unit_tests = b.addTest(.{
|
||||||
.root_source_file = b.path("src/main.zig"),
|
.root_source_file = b.path("src/main.zig"),
|
||||||
.target = target,
|
.target = target,
|
||||||
|
10
readme.md
10
readme.md
@ -12,6 +12,16 @@ To build, you need to have zig master (you can use [zvm](https://www.zvm.app/) t
|
|||||||
|
|
||||||
Note that if you change shaders, you have to recompile them manually - run compile_shaders.bat.
|
Note that if you change shaders, you have to recompile them manually - run compile_shaders.bat.
|
||||||
|
|
||||||
|
### Live error checking
|
||||||
|
|
||||||
|
This project has been configured so that zls can show live compile errors on save. To make it work, you need to set these zls config params (in VSCode just copy these to your preferences):
|
||||||
|
```
|
||||||
|
"zig.zls.enableBuildOnSave": true,
|
||||||
|
"zig.zls.buildOnSaveStep": "check"
|
||||||
|
```
|
||||||
|
|
||||||
|
Also, if you're in VSCode, install ErrorLens extension so you can see the errors inline.
|
||||||
|
|
||||||
## Why zig?
|
## Why zig?
|
||||||
|
|
||||||
Zig is a low level language and toolchain that is designed as a "better C". Its main goal is to be simple, robust and fast. A few strong points:
|
Zig is a low level language and toolchain that is designed as a "better C". Its main goal is to be simple, robust and fast. A few strong points:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
const sokol = @import("sokol");
|
const sokol = @import("sokol");
|
||||||
|
|
||||||
const sg = sokol.gfx;
|
const sg = sokol.gfx;
|
||||||
|
const Event = sokol.app.Event;
|
||||||
|
|
||||||
const shader = @import("shaders/triangle2.glsl.zig");
|
const shader = @import("shaders/triangle2.glsl.zig");
|
||||||
|
|
||||||
@ -144,8 +144,6 @@ export fn cleanup() void {
|
|||||||
std.log.info("Ended", .{});
|
std.log.info("Ended", .{});
|
||||||
}
|
}
|
||||||
|
|
||||||
const Event = sokol.app.Event;
|
|
||||||
|
|
||||||
export fn event(eptr: [*c]const Event) void {
|
export fn event(eptr: [*c]const Event) void {
|
||||||
const e: *const Event = @ptrCast(eptr);
|
const e: *const Event = @ptrCast(eptr);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user