lint per file
gives paralellism
This commit is contained in:
76
build.zig
76
build.zig
@@ -71,44 +71,48 @@ pub fn build(b: *std.Build) !void {
|
||||
|
||||
const lint_step = b.step("lint", "Run linters");
|
||||
|
||||
const clang_analyze = b.addSystemCommand(&.{
|
||||
"clang",
|
||||
"--analyze",
|
||||
"--analyzer-output",
|
||||
"text",
|
||||
"-Wno-unused-command-line-argument",
|
||||
"-Werror",
|
||||
});
|
||||
for (all_c_files) |cfile| clang_analyze.addFileArg(b.path(cfile));
|
||||
clang_analyze.expectExitCode(0);
|
||||
lint_step.dependOn(&clang_analyze.step);
|
||||
for (all_c_files) |cfile| {
|
||||
const clang_analyze = b.addSystemCommand(&.{
|
||||
"clang",
|
||||
"--analyze",
|
||||
"--analyzer-output",
|
||||
"text",
|
||||
"-Wno-unused-command-line-argument",
|
||||
"-Werror",
|
||||
});
|
||||
clang_analyze.addFileArg(b.path(cfile));
|
||||
clang_analyze.expectExitCode(0);
|
||||
lint_step.dependOn(&clang_analyze.step);
|
||||
|
||||
const gcc_analyze = b.addSystemCommand(&.{
|
||||
"gcc",
|
||||
"--analyzer",
|
||||
"-Werror",
|
||||
"-o",
|
||||
"/dev/null",
|
||||
});
|
||||
for (all_c_files) |cfile| gcc_analyze.addFileArg(b.path(cfile));
|
||||
gcc_analyze.expectExitCode(0);
|
||||
lint_step.dependOn(&gcc_analyze.step);
|
||||
const gcc_analyze = b.addSystemCommand(&.{
|
||||
"gcc",
|
||||
"-c",
|
||||
"--analyzer",
|
||||
"-Werror",
|
||||
"-o",
|
||||
"/dev/null",
|
||||
});
|
||||
gcc_analyze.addFileArg(b.path(cfile));
|
||||
gcc_analyze.expectExitCode(0);
|
||||
lint_step.dependOn(&gcc_analyze.step);
|
||||
|
||||
const cppcheck = b.addSystemCommand(&.{
|
||||
"cppcheck",
|
||||
"--quiet",
|
||||
"--error-exitcode=1",
|
||||
"--check-level=exhaustive",
|
||||
"--enable=all",
|
||||
"--inline-suppr",
|
||||
"--suppress=missingIncludeSystem",
|
||||
"--suppress=checkersReport",
|
||||
"--suppress=unusedFunction", // TODO remove after plumbing is done
|
||||
"--suppress=unusedStructMember", // TODO remove after plumbing is done
|
||||
});
|
||||
for (all_c_files) |cfile| cppcheck.addFileArg(b.path(cfile));
|
||||
cppcheck.expectExitCode(0);
|
||||
lint_step.dependOn(&cppcheck.step);
|
||||
const cppcheck = b.addSystemCommand(&.{
|
||||
"cppcheck",
|
||||
"--quiet",
|
||||
"--error-exitcode=1",
|
||||
"--check-level=exhaustive",
|
||||
"--enable=all",
|
||||
"--inline-suppr",
|
||||
"--suppress=missingIncludeSystem",
|
||||
"--suppress=checkersReport",
|
||||
"--suppress=unusedFunction", // TODO remove after plumbing is done
|
||||
"--suppress=unusedStructMember", // TODO remove after plumbing is done
|
||||
"--suppress=unmatchedSuppression",
|
||||
});
|
||||
cppcheck.addFileArg(b.path(cfile));
|
||||
cppcheck.expectExitCode(0);
|
||||
lint_step.dependOn(&cppcheck.step);
|
||||
}
|
||||
|
||||
const all_step = b.step("all", "Run fmt check, lint, and tests with all compilers");
|
||||
all_step.dependOn(lint_step);
|
||||
|
||||
Reference in New Issue
Block a user