Введение
Qt Creator (QTC) является активно развивающимся проектом. Как следствие, регулярно выходят новые версии, которые ломают совместимость со старыми плагинами. А если при этом учесть, что практически вся его функциональность основана на этих плагинах, то вопрос их обновления можно назвать довольно актуальным.
При этом не для всех плагинов можно найти собранные версии. В некоторых случаях (я бы даже сказал «в большинстве») придется самому перекомпилировать нужное дополнение.
Сборка
Сборка плагина состоит из двух этапов: сборки Qt Creator’а и, собственно, самого плагина.
Qt Creator можно скачать с официального сайта или из репозитория. Для сокращения числа сюрпризов рекомендую качать нумерованные версии (любые с офф сайта или помеченные соответствующими тегами в репозитории).
Сборка самого QTC сложности не представляет, но занимает время (порядка 20-40 минут на i5 4Ghz).
Собирать надо проект qtcreator.pro
из папки с исходниками.
Для OSX и Linux есть возможность использования уже собранного Qt Creator’а (например, поставленного через официальный установщик). К сожалению, под Windows так не получится.
Переходим к плагину.
Плагину необходимо указать путь и к исходникам и к собранному QTC.
В файле проекта эти пути задаются, соответственно, переменными QTCREATOR_SOURCES
и IDE_BUILD_TREE
.
В моих плагинах эти пути вынесены в отдельный файл paths.pri
.
Здесь могут поджидать некоторые сюрпризы. В основном они возникают из-за того, что API от версии к версии несколько изменяется. Так что, возможно, потребуется внести некоторые изменения в код плагина.
Установка
Установка плагина заключается в копировании полученной при компиляции библиотеки и файла описания (ИмяПлагина.pluginspec
).
Описание плагина Qt Creator использует для определения совместимости версий.
Содержание описания можно также увидеть в меню «Справка»-«О модулях…».
По умолчанию при сборке библиотека и описание помещаются в папку для плагинов, находящуюся где-то в указанном ранее каталоге с собранным QTC (IDE_BUILD_TREE
).
Точный путь зависит от типа операционной системы (ОС).
Есть возможность помещать плагин в папку пользовательских параметров (которая тоже изменяется в зависимости от ОС). Для этого переменная USE_USER_DESTDIR
должна быть не пустой.
Следует заметить, что описание плагина (pluginspec
) надо копировать не из папки с исходниками (там хранится его шаблон), а из папки с получившейся библиотекой.
При сборке в шаблоне заменяются некоторые значения (версия, зависимости).
Примечание: начиная с версии 3.2.0, pluginspec заменен на json файл, который требуется только для сборки.
Заключение
Ну и последнее, что хотел сказать. Смена версии Qt Creator не всегда требует перекомпиляции плагинов. Для каждого плагина помимо текущей версии задается (может задаваться) еще и совместимая версия. Если совместимых версий достаточно для удовлетворения зависимостей, то плагин запустится.