У меня есть несколько Windows проектов, основанных на qmake, и они ежедневно создаются на Jenkins. Jenkins работает на компьютере Windows, и мои проекты работают нормально с помощью "Windows batch Command", которая почти такая же, как при запуске старого доброго пакетного (.bat) файла.
Qt В настоящее время creator имеет интегрированные clang-tidy и clazy, и их можно запускать в проектах, использующих Qt creator GUI.
Теперь я хотел бы, чтобы эти проверки clang-tidy и clazy выполнялись на моем экземпляре Jenkins на ежедневно.
Есть ли способ запустить эти инструменты из среды, отличной от GUI, для проектов qmake?
Редактировать: я считаю, что мне нужно добавить информацию о том, что у меня уже есть пробовал и там, где у меня были проблемы, чтобы заставить что-то работать удовлетворительным образом.
Для clang-tidy я считаю проблематичным c, чтобы передать все параметры проекта, такие как пути, переменные среды и тому подобное, в инструмент , Qt Creator может сделать это с помощью своего плагина, так как у него есть вся доступная там информация. Я вижу, например, что есть возможность запустить clang-tidy с файлом compile_commands. json, чтобы решить эту проблему. Однако я не смог найти способ «преобразовать» файл qmake .pro в файл compile_commands. json в Windows. На Linux это было бы возможно с медведем согласно этому сообщению в блоге, но, кажется, нет альтернативы для Windows ...
Для clazy есть возможность запустить его во время обычной сборки, как указано в их документации. Однако такая сборка занимает слишком много времени для запуска и использует большую часть времени для ненужного вывода сборки, что также нежелательно. Причина, по которой это занимает так много времени, заключается в том, что мне пришлось переключить сборку на одноядерную сборку, потому что в противном случае я получил несинхронизированный зашифрованный текстовый вывод, который я тогда не смогу проанализировать должным образом.
Мне также известно, что создатель Qt может сгенерировать файл compile_commands. json в своем меню сборки для проекта, который в данный момент открыт. Однако это, похоже, скрыто в коде IDE и не может использоваться без GUI ...
Или, возможно, возможно запустить инструменты на основе сгенерированных make-файлов или сгенерированного файла проекта visual studio? Все эти вещи кажутся мне довольно сложными и подверженными ошибкам, и я действительно надеюсь, что есть простой способ запустить что-то здесь.