Випуск складального інструментарію Qbs 1.16

представлений випуск складального інструментарію Qbs 1.16. Це третій випуск після відходу компанії Qt Company від розробки проекту, підготовленого силами спільноти, зацікавленої у продовженні розробки Qbs. Для складання Qbs серед залежностей потрібно Qt, хоча сам Qbs розрахований на організацію складання будь-яких проектів. Qbs використовує спрощений варіант мови QML для визначення сценаріїв складання проекту, що дозволяє визначати досить гнучкі правила складання, в яких можуть підключатися зовнішні модулі, використовувати функції JavaScript і створюватися довільні правила складання.

Мова сценаріїв, що використовується в Qbs, адаптована для автоматизації генерації та аналізу сценаріїв складання інтегрованими середовищами розробки. Крім того, Qbs не генерує make-файли, а сам, без посередників, таких як утиліта make, контролює запуск компіляторів та компонувальників, оптимізуючи процес збирання на основі детального графа всіх залежностей. Наявність початкових даних про структуру та залежність у проекті дозволяє ефективно розпаралелювати виконання операцій у кілька потоків. Для великих проектів, що складаються з великої кількості файлів і піддиректорій, продуктивність повторного перескладання з використанням Qbs може випереджати make в рази - перескладання виконується майже миттєво і не змушує розробника витрачати час на очікування.

Нагадаємо, що у 2018 році компанією Qt Company було ухвалено рішення щодо припинення розробки Qbs. Qbs розвивався як заміна qmake, але в кінцевому рахунку було вирішено використовувати CMake як основну складальну систему для Qt у довгостроковій перспективі. Розробка Qbs тепер продовжена у формі незалежного проекту, що підтримується силами спільноти та зацікавленими розробниками. Для розробки поки що продовжує використовуватися інфраструктура Qt Company.

Основні нововведення Qbs 1.16:

  • Забезпечено злиття облікових властивостей у модулях, пов'язаних взаємними залежностями, що важливо, наприклад, при обробці таких прапорів, як cpp.staticLibraries;
  • Додано автоматичне визначення GCC та IAR для мікроконтролерів Renesas;
  • Додана підтримка Xcode 11.4 у macOS;
  • Розширено можливості модуля підтримки clang-cl;
  • Забезпечено автоматичне визначення MSVC, clang-cl та MinGW у профілях, де явно не визначено розташування інструментарію;
  • Спрощено включення та налаштування окремо встановлюваної налагоджувальної інформації (cpp.separateDebugInformation) через секції Application та DynamicLibrary у параметрах проекту;
  • Додана підтримка Qt 5.14 для Android та оновлено утиліту qbs-setup-android;
  • У налаштуваннях Qt.core.generateMetaTypesFile і Qt.core.metaTypesInstallDir додана підтримка JSON-файлів, що генеруються утилітою moc (Qt >= 5.15);
  • Додано підтримку представленого в Qt 5.15 нового механізму декларування типів для QML;
  • Додано налаштування ConanfileProbe для спрощення інтеграції Qbs з пакетним менеджером Конан (Для C/C++).

Джерело: opennet.ru

Додати коментар або відгук