我想将cppcheck集成到我的项目中,以便在出现问题时自动生成构建失败。当然,这可能是CI工作的一部分,但目前我们有一些技术问题。最简单的方法是将cppcheck集成到Makefile中。它也可以使用为项目配置的头目录。
是否有可能以及如何做到这一点?
CC=gcc
CFLAGS=-I.
DEPS =
OBJ = main.o
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
hellomake: $(OBJ)
gcc -o $@ $^ $(CFLAGS)
我想在main.c
上执行静态分析:
#include <stdio.h>
int main()
{
printf("hello\n");
return 0;
}
答案 0 :(得分:1)
最简单的方法是使您的默认目标取决于二进制和cppcheck的输出:
SOURCES = main.cpp
CPPCHECK = cppcheck
CHECKFLAGS = -q --error-exitcode=1
default: cppcheck.out.xml hellomake
.PHONY: default clean
cppcheck.out.xml: $(SOURCES)
$(CPPCHECK) $(CHECKFLAGS) $^ -xml >$@
hellomake: $(OBJ)
$(LINK.c) -o $@ $^