Zig 0.13.0 update
This commit is contained in:
parent
8033d99423
commit
23f5c6836a
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,5 @@
|
|||||||
zig-out
|
zig-out
|
||||||
zig-cache
|
.zig-cache
|
||||||
dbg.rdbg
|
dbg.rdbg
|
||||||
assetc.rdbg
|
assetc.rdbg
|
||||||
.vs
|
.vs
|
||||||
|
28
build.zig
28
build.zig
@ -25,8 +25,8 @@ pub fn build(b: *Build) void {
|
|||||||
|
|
||||||
const zalgebra_dep = b.dependency("zalgebra", .{});
|
const zalgebra_dep = b.dependency("zalgebra", .{});
|
||||||
|
|
||||||
const assets_mod = b.addModule("assets", .{ .root_source_file = .{ .path = "src/assets/root.zig" } });
|
const assets_mod = b.addModule("assets", .{ .root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/assets/root.zig" } } });
|
||||||
const asset_manifest_mod = b.addModule("asset_manifest", .{ .root_source_file = .{ .path = "src/gen/asset_manifest.zig" } });
|
const asset_manifest_mod = b.addModule("asset_manifest", .{ .root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/gen/asset_manifest.zig" } } });
|
||||||
asset_manifest_mod.addImport("assets", assets_mod);
|
asset_manifest_mod.addImport("assets", assets_mod);
|
||||||
|
|
||||||
const assets_step = b.step("assets", "Build and install assets");
|
const assets_step = b.step("assets", "Build and install assets");
|
||||||
@ -47,12 +47,12 @@ pub fn build(b: *Build) void {
|
|||||||
|
|
||||||
const lib = b.addSharedLibrary(.{
|
const lib = b.addSharedLibrary(.{
|
||||||
.name = "learnopengl",
|
.name = "learnopengl",
|
||||||
.root_source_file = .{ .path = "src/game.zig" },
|
.root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/game.zig" } },
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
});
|
});
|
||||||
const lib_unit_tests = b.addTest(.{
|
const lib_unit_tests = b.addTest(.{
|
||||||
.root_source_file = .{ .path = "src/game.zig" },
|
.root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/game.zig" } },
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
});
|
});
|
||||||
@ -71,15 +71,17 @@ pub fn build(b: *Build) void {
|
|||||||
.name = "learnopengl",
|
.name = "learnopengl",
|
||||||
// In this case the main source file is merely a path, however, in more
|
// In this case the main source file is merely a path, however, in more
|
||||||
// complicated build scripts, this could be a generated file.
|
// complicated build scripts, this could be a generated file.
|
||||||
.root_source_file = .{ .path = "src/main.zig" },
|
.root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/main.zig" } },
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (b.systemIntegrationOption("SDL2", .{ .default = b.host.result.os.tag != .windows })) {
|
if (b.systemIntegrationOption("SDL2", .{ .default = b.host.result.os.tag != .windows })) {
|
||||||
exe.linkSystemLibrary("SDL2");
|
exe.linkSystemLibrary("SDL2");
|
||||||
|
exe.linkLibC();
|
||||||
inline for (lib_compiles) |l| {
|
inline for (lib_compiles) |l| {
|
||||||
l.linkSystemLibrary("SDL2");
|
l.linkSystemLibrary("SDL2");
|
||||||
|
l.linkLibC();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const sdl_dep = b.dependency("SDL", .{
|
const sdl_dep = b.dependency("SDL", .{
|
||||||
@ -128,7 +130,7 @@ pub fn build(b: *Build) void {
|
|||||||
const run_lib_unit_tests = b.addRunArtifact(lib_unit_tests);
|
const run_lib_unit_tests = b.addRunArtifact(lib_unit_tests);
|
||||||
|
|
||||||
const exe_unit_tests = b.addTest(.{
|
const exe_unit_tests = b.addTest(.{
|
||||||
.root_source_file = .{ .path = "src/main.zig" },
|
.root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/main.zig" } },
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
});
|
});
|
||||||
@ -190,7 +192,7 @@ fn buildAssets(b: *std.Build, install_assetc_step: *Step, step: *Step, assetc: *
|
|||||||
run_assetc.addPathDir(b.pathFromRoot("libs/ispc_texcomp/lib"));
|
run_assetc.addPathDir(b.pathFromRoot("libs/ispc_texcomp/lib"));
|
||||||
|
|
||||||
// Absolute input file arg, this will add it to step deps, cache and all that good stuff
|
// Absolute input file arg, this will add it to step deps, cache and all that good stuff
|
||||||
run_assetc.addFileArg(.{ .path = b.pathJoin(&.{ path, entry.path }) });
|
run_assetc.addFileArg(.{ .src_path = .{ .owner = b, .sub_path = b.pathJoin(&.{ path, entry.path }) } });
|
||||||
|
|
||||||
// Generated output dir. Output asset(s) will be placed there at the same relative path as input
|
// Generated output dir. Output asset(s) will be placed there at the same relative path as input
|
||||||
const result_dir = run_assetc.addOutputFileArg("assets");
|
const result_dir = run_assetc.addOutputFileArg("assets");
|
||||||
@ -220,7 +222,7 @@ fn buildAssetCompiler(b: *Build, optimize: std.builtin.OptimizeMode, assets_mod:
|
|||||||
const assetc = b.addExecutable(.{
|
const assetc = b.addExecutable(.{
|
||||||
.name = "assetc",
|
.name = "assetc",
|
||||||
.target = b.host,
|
.target = b.host,
|
||||||
.root_source_file = .{ .path = "tools/asset_compiler.zig" },
|
.root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "tools/asset_compiler.zig" } },
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
});
|
});
|
||||||
assetc.linkLibC();
|
assetc.linkLibC();
|
||||||
@ -229,12 +231,12 @@ fn buildAssetCompiler(b: *Build, optimize: std.builtin.OptimizeMode, assets_mod:
|
|||||||
b.installFile("libs/ispc_texcomp/lib/ispc_texcomp.dll", "ispc_texcomp.dll");
|
b.installFile("libs/ispc_texcomp/lib/ispc_texcomp.dll", "ispc_texcomp.dll");
|
||||||
b.installFile("libs/ispc_texcomp/lib/ispc_texcomp.pdb", "ispc_texcomp.pdb");
|
b.installFile("libs/ispc_texcomp/lib/ispc_texcomp.pdb", "ispc_texcomp.pdb");
|
||||||
}
|
}
|
||||||
assetc.addLibraryPath(.{ .path = "libs/ispc_texcomp/lib" });
|
assetc.addLibraryPath(.{ .src_path = .{ .owner = b, .sub_path = "libs/ispc_texcomp/lib" } });
|
||||||
assetc.addIncludePath(.{ .path = "libs/ispc_texcomp/include" });
|
assetc.addIncludePath(.{ .src_path = .{ .owner = b, .sub_path = "libs/ispc_texcomp/include" } });
|
||||||
assetc.linkSystemLibrary("ispc_texcomp");
|
assetc.linkSystemLibrary("ispc_texcomp");
|
||||||
|
|
||||||
const zalgebra_mod = zalgebra_dep.module("zalgebra");
|
const zalgebra_mod = zalgebra_dep.module("zalgebra");
|
||||||
const formats_mod = b.addModule("formats", .{ .root_source_file = .{ .path = "src/formats.zig" } });
|
const formats_mod = b.addModule("formats", .{ .root_source_file = .{ .src_path = .{ .owner = b, .sub_path = "src/formats.zig" } } });
|
||||||
formats_mod.addImport("zalgebra", zalgebra_mod);
|
formats_mod.addImport("zalgebra", zalgebra_mod);
|
||||||
formats_mod.addImport("assets", assets_mod);
|
formats_mod.addImport("assets", assets_mod);
|
||||||
assetc.root_module.addImport("formats", formats_mod);
|
assetc.root_module.addImport("formats", formats_mod);
|
||||||
@ -245,8 +247,8 @@ fn buildAssetCompiler(b: *Build, optimize: std.builtin.OptimizeMode, assets_mod:
|
|||||||
assetc.linkLibC();
|
assetc.linkLibC();
|
||||||
assetc.linkLibCpp();
|
assetc.linkLibCpp();
|
||||||
|
|
||||||
assetc.addCSourceFile(.{ .file = .{ .path = "libs/stb/stb_image.c" }, .flags = &.{"-std=c99"} });
|
assetc.addCSourceFile(.{ .file = .{ .src_path = .{ .owner = b, .sub_path = "libs/stb/stb_image.c" } }, .flags = &.{"-std=c99"} });
|
||||||
assetc.addIncludePath(.{ .path = "libs/stb" });
|
assetc.addIncludePath(.{ .src_path = .{ .owner = b, .sub_path = "libs/stb" } });
|
||||||
|
|
||||||
return assetc;
|
return assetc;
|
||||||
}
|
}
|
||||||
|
@ -16,16 +16,16 @@
|
|||||||
// internet connectivity.
|
// internet connectivity.
|
||||||
.dependencies = .{
|
.dependencies = .{
|
||||||
.SDL = .{
|
.SDL = .{
|
||||||
.url = "https://github.com/sergeypdev/SDL/tarball/d676fac90d338b10453966bee173ffe299b6f851",
|
.url = "https://github.com/sergeypdev/SDL/tarball/9345142fc69669541ccff66dd531edf74f7055c5",
|
||||||
.hash = "12201f4fc3c26377eb3f7645cf6b2dd588b5868ba6b85e60fa36b5ea568b28243d62",
|
.hash = "122098348d9cee1436ba220e9ea1cc6056b775fa4d70681adf7b63c99c5f105b7dc0",
|
||||||
},
|
},
|
||||||
.@"zig-assimp" = .{
|
.@"zig-assimp" = .{
|
||||||
.url = "https://github.com/sergeypdev/zig-assimp/tarball/b10b2f03e2f3ab4a56948c583632dee61cc5fa21",
|
.url = "https://github.com/sergeypdev/zig-assimp/tarball/dd20d3d3555136f5d108a4f5e04e0a696ed4774f",
|
||||||
.hash = "1220c43c5a676ba3113f4b3c1b35d8e7eab272f87ec9e78057077e685ecee655beed",
|
.hash = "1220e845d7a9eb54d0bd93409ff594c7e8522881119521e3848bf9ba450b43d1af7c",
|
||||||
},
|
},
|
||||||
.zalgebra = .{
|
.zalgebra = .{
|
||||||
.url = "https://github.com/sergeypdev/zalgebra/tarball/f6aa18f74b8935887595d5793d73181d44a80735",
|
.url = "https://github.com/sergeypdev/zalgebra/tarball/43371bf211ad574cde90f653fea171f1cccb1716",
|
||||||
.hash = "1220fb0aa4a9e27e1e74c94072827e21114609b7122d4038e30aa9e4f66f6c6fc00d",
|
.hash = "1220e1439198c5206dbb924420aac0f57dd11fd4b6639e1aa9559abc09f91bfd2c9a",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
.paths = .{
|
.paths = .{
|
||||||
|
@ -30,7 +30,7 @@ pub fn create(b: *Build) *GenerateAssetManifest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn getAssetManifest(self: *const GenerateAssetManifest) Build.LazyPath {
|
pub fn getAssetManifest(self: *const GenerateAssetManifest) Build.LazyPath {
|
||||||
return Build.LazyPath{ .generated = &self.generated_manifest };
|
return Build.LazyPath{ .generated = .{ .file = &self.generated_manifest } };
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn addAssetListFile(self: *GenerateAssetManifest, file: Build.LazyPath) void {
|
pub fn addAssetListFile(self: *GenerateAssetManifest, file: Build.LazyPath) void {
|
||||||
@ -40,7 +40,7 @@ pub fn addAssetListFile(self: *GenerateAssetManifest, file: Build.LazyPath) void
|
|||||||
|
|
||||||
const AssetMap = std.AutoHashMap(types.AssetType, NestedAssetDef);
|
const AssetMap = std.AutoHashMap(types.AssetType, NestedAssetDef);
|
||||||
|
|
||||||
fn make(step: *Step, prog_node: *std.Progress.Node) !void {
|
fn make(step: *Step, prog_node: std.Progress.Node) !void {
|
||||||
_ = prog_node; // autofix
|
_ = prog_node; // autofix
|
||||||
const b = step.owner;
|
const b = step.owner;
|
||||||
var arena = std.heap.ArenaAllocator.init(b.allocator);
|
var arena = std.heap.ArenaAllocator.init(b.allocator);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user