c – 将vera(或其他编码约定工具)与Qt / QtCreator集成

我们正在用Qt开发一个应用程序,在服务器中我们有genkin服务器用于自动构建和自动测试.

我们希望拥有像维拉这样的编码 – 会议测试工具.我们没有维拉或其他工具的经验,但我们想要的是对Qt项目(.pro)的每个文件进行维护.此外,是否可以将此工具集成到QtCreator中?

我在互联网上找不到任何东西.
谢谢.

最佳答案 解

我通过在项目的根目录中的.qmake.conf文件中添加以下行,在一个复合qmake项目中集成了vera:

defineReplace(absolute_paths) {
    result =
    for(path, ARGS) {
        result += $$absolute_path($$path, $$_PRO_FILE_PWD_)
    }
    return($$result)
}
equals(TEMPLATE, subdirs): prepareRecursiveTarget(vera++)
else {
    # We prefix the report file name with the project file base name to prevent name collisions.
    VERA_TARGET = $$basename(_PRO_FILE_).vera++.xml
    vera++.commands = vera++ --checkstyle-report $$VERA_TARGET --show-rule $$absolute_paths($$HEADERS) $$absolute_paths($$SOURCES)
    QMAKE_CLEAN += $$VERA_TARGET
}
QMAKE_EXTRA_TARGETS += vera++

这会添加一个递归的make目标vera,它处理每个非子目标子项目中的所有头文件和源文件.

要生成XML报告,请调用以下命令:

qmake
make qmake_all
make vera++

附加信息

.qmake.conf自动包含在所有子目录中的所有.pro文件中.

> qmake

> defineReplace()
> prepareRecursiveTarget()

> vera++

点赞