将cppcheck集成到构建系统

时间:2017-10-04 09:43:49

标签: makefile cppcheck

我想将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;
}

1 个答案:

答案 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 $@ $^