LINUX.ORG.RU

Статистика warning'ов при сборке проекта на C++

 , ,


1

4

Есть ли утилита, которая умеет генерировать файл/отчёт в удобном для чтения формате по warning'ам во время сборки проекта? Сейчас есть проект который собирается с помощью cmake, при сборке проекта (debug) используются следующие флаги:

-Wall -Wextra -Wshadow -Wnon-virtual-dtor

В идеале данная утилита должна уметь парсить warning'и g++, и группировать их по критичности, после чего должен получаться отчёт (в идеале ещё чтобы отдельно сообщалось о новых warning'ах).

Сейчас в проекте слишком много warning'ов (знаю что плохо, но пока нет возможности их поправить), при сборке проекта просто нереально заметить какой-то новый warning.

Кстати может быть есть ещё must-have флаги при debug сборке с помощью g++?

Статистику и самому можно собирать. Билдлог в файл, потом скриптом отгрепаешь всё ненужное.

Кстати может быть есть ещё must-have флаги при debug сборке с помощью g++?

-Wl,--no-undefined, если shared библиотеки собираешь.

a1batross ★★★★★ ()

Я видел только велосипеды пока что.

Можно посмотреть сможет ли в то, что ты хочешь - sonarqube, но это видимо из пушки по воробушкам.

pon4ik ★★★★★ ()
Ответ на: комментарий от pon4ik

Можно посмотреть сможет ли в то, что ты хочешь - sonarqube, но это видимо из пушки по воробушкам.

Спасибо за наводку, ознакомлюсь ближе. Будет прикольно если такую штуку можно будет как-то прикрутить к Team City.

но это видимо из пушки по воробушкам

Не без этого конечно.

penetrator3000 ()
Ответ на: комментарий от RazrFalcon

Сижу на CLion'e, не охота переходить.

Да и желательно чтобы «утилита» работала везде, т.к. приложение (не для себя) собирается на билд сервере, а о чужих warning'ах, особенно новых, знать хочется.

penetrator3000 ()

Сон разума рождает чудовищ

Пофикси те ворнинги, которые требуют фикса. Убери все остальные правильным подбором ключей компиляции. Всё остальное от лукавого.

Crocodoom ★★ ()
Ответ на: комментарий от andreyu

Думал о чём-то подобном, но не уверен что получится запилить что-то адекватное даже для собственного использования.

Вообще я тут вспомнил что есть прекрасный язык программирования Python, видимо с ним придётся развлекаться если дойдут руки

penetrator3000 ()
Ответ на: комментарий от vromanov

Справедливости ради, насколько я помню - в тимсити тоже был плагин.

Но тимсити либо для дюже богатых проектов, либо для тех кто ещё только начал себе норм окружение делать. А так да, лучше jenkins или gitlab ci какой нить.

pon4ik ★★★★★ ()
Ответ на: комментарий от vromanov

Я бы сказал так - он вмеру убог, но подкупает изкоробочностью, повторяемостью и глубокой интеграцией в сам гитлаб.

Несомненно кастомный конфиг на дженкинсе будет круче, а на билдботе - ещё круче, но денег ты туда вложишь сравнимо с коммерческой версией tc. А в gitlab-ci добавление на ci нового типового проекта почти ничего не стоит, пока ты работаешь в рамках предложенных вариантов рабочего процесса.

Это как выбрать ide в замен пердолинга с vim/emacs. Решение будет не таким гибким, но сильно повторяемым (в плане посадить нового человека за от же рабочий процесс).

pon4ik ★★★★★ ()