2023-04-19 01:25:35 +02:00
|
|
|
const std = @import("std");
|
|
|
|
|
2023-05-28 03:26:41 +02:00
|
|
|
pub fn build(b: *std.Build) void {
|
|
|
|
const coral_module = b.createModule(.{.source_file = .{.path = "./source/coral/coral.zig"}});
|
2023-04-19 01:25:35 +02:00
|
|
|
|
2023-05-28 03:26:41 +02:00
|
|
|
const ona_module = b.createModule(.{
|
2023-04-19 01:25:35 +02:00
|
|
|
.source_file = .{.path = "./source/ona/ona.zig"},
|
|
|
|
|
|
|
|
.dependencies = &.{
|
|
|
|
.{
|
|
|
|
.name = "coral",
|
2023-05-24 02:33:02 +02:00
|
|
|
.module = coral_module,
|
2023-04-19 01:25:35 +02:00
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
2023-05-28 03:26:41 +02:00
|
|
|
const cross_target = b.standardTargetOptions(.{});
|
|
|
|
const optimize_mode = std.builtin.Mode.Debug;
|
|
|
|
|
|
|
|
// Ona runner.
|
2023-04-19 01:25:35 +02:00
|
|
|
{
|
2023-05-28 03:26:41 +02:00
|
|
|
const ona_exe = b.addExecutable(.{
|
2023-04-19 01:25:35 +02:00
|
|
|
.name = "ona-runner",
|
|
|
|
.root_source_file = .{.path = "./source/runner.zig"},
|
2023-05-28 03:26:41 +02:00
|
|
|
.target = cross_target,
|
|
|
|
.optimize = optimize_mode,
|
2023-04-19 01:25:35 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
ona_exe.addModule("coral", coral_module);
|
|
|
|
ona_exe.addModule("ona", ona_module);
|
|
|
|
|
|
|
|
// ona_exe.addIncludeDir("./ext");
|
|
|
|
ona_exe.linkSystemLibrary("SDL2");
|
|
|
|
ona_exe.linkLibC();
|
2023-05-28 03:26:41 +02:00
|
|
|
b.installArtifact(ona_exe);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Test step.
|
|
|
|
{
|
|
|
|
const exe_tests = b.addTest(.{
|
|
|
|
.root_source_file = .{.path = "source/test.zig"},
|
|
|
|
.target = cross_target,
|
|
|
|
.optimize = optimize_mode,
|
|
|
|
});
|
|
|
|
|
|
|
|
const test_step = b.step("test", "Run unit tests");
|
|
|
|
|
|
|
|
test_step.dependOn(&exe_tests.step);
|
2023-04-19 01:25:35 +02:00
|
|
|
}
|
|
|
|
}
|