Мы разрабатываем приложение с использованием Qt, и на сервере у нас есть сервер genkin для автоматической сборки и автоматического тестирования.
Мы хотим иметь инструмент тестирования Coding-Convention, такой как vera ++. У нас нет опыта работы с vera ++ или другими инструментами, но все, что нам нужно, это заставить vera ++ обрабатывать все файлы проекта Qt (.pro). Кроме того, возможно ли интегрировать этот инструмент в QtCreator?
Я не мог ничего найти в Интернете.
Благодарю.
Я интегрировал vera ++ в составной проект qmake, добавив следующие строки в файл .qmake.conf
в корневой директории проекта:
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++
Это добавляет рекурсивную цель создания vera++
который обрабатывает все заголовочные и исходные файлы в каждом из подпроектов non-subdirs.
Чтобы сгенерировать отчеты XML, вызовите следующие команды:
qmake
make qmake_all
make vera++
.qmake.conf
автоматически включается во все файлы .pro во всех подкаталогах.
Других решений пока нет …