Сконфигурируйте комплект для Qt автоматически - PullRequest
1 голос
/ 10 апреля 2020

SO!

Допустим, у меня есть ряд настроек (компилятор G CC 9.3.0, собранный из исходного кода, поскольку используемый дистрибутив имеет очень старый, наряду с настройкой среды) для нового Kit в QtCreator.

Мне удалось настроить среду для компиляции и выполнения скомпилированных двоичных файлов и создал скрипт для его работы (, например, qmake -nocache -recursive / make / sudo make install , прямое выполнение g ++ и прочее).

В настоящий момент сценарий не может сделать одну вещь: он не может создать набор для QtCreator с новыми компиляторами и установленной средой по мере необходимости, поэтому после запуска скрипта его пользователь должен go, настроив его самостоятельно через GUI, что плохо, потому что это может привести к неправильной конфигурации.

Эту вещь я пытаюсь создать около 200 человек будут использоваться в моей компании, поэтому для меня недостаточно просто прочитать readme.txt с инструкциями go - я не хочу бегать, исправляя пропущенные "{" и "}" в описании среды в созданных наборах и другие материалы.

Существуют ли способы автоматического создания наборов для QtCreator из командной строки? Может быть, есть файлы для редактирования?

1 Ответ

1 голос
/ 10 апреля 2020

Я изучил этот вопрос несколько лет назад (я хотел сделать что-то подобное для автоматической регистрации цепочек инструментов Build root в QtCreator), и мне не удалось найти готовое решение. Поэтому я думаю, что есть 2 способа реализовать это:

a) Реализация утилиты командной строки для манипулирования файлами ~ / .config / QtProject / qtcreator / {toolchains, profile}. xml. Может быть, (пере) используя существующую реализацию C ++ в QtCreator, или просто повторно внедрите ее ie. в Python. Назад, чем я не начал работать над этим, поскольку не было никакой реальной потребности бизнеса.

b) Переключение на qbs, поскольку qbs поддерживает настройку цепочек инструментов из командной строки (см .: https://doc.qt.io/qbs/cli-setup-toolchains.html)

Если вы решите go с решением а), пожалуйста, дайте мне знать, и, возможно, мы сможем найти партнера для его реализации.

...