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

Подано випуск складального інструментарію Qbs 1.20. Це сьомий випуск після відходу компанії 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.20:

  • Реалізовано повну підтримку фреймворку Qt 6, включаючи гілку Qt 6.2.
  • Оновлено та портовано на C++17 модуль QtScript, який більше не поставляється в Qt 6 і тепер входить до складу Qbs.
  • У разі збирання з іншим набором властивостей забезпечено виведення списку старих якостей.
  • У qbs-config додана команда для додавання всього профілю, що дозволяє обійтися без роздільного додавання властивостей і істотно прискорює запуск за наявності декількох Android SDK.
  • Вирішено проблему з некоректною обробкою часу оновлення файлів на платформі FreeBSD.
  • Поліпшено підтримку C/C++. Додана підтримка компіляторів COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 та STM32) та інструментарію Digital Mars. Для компілятора MSVC реалізовано властивість cpp.enableCxxLanguageMacro і додано підтримку значення c++20 в cpp.cxxLanguageVersion.
  • Для платформи Android реалізовано підтримку використання dex-компілятора d8 замість dx через виставлення властивості Android.sdk.dexCompilerName. Припинено підтримку Ministro, програми для забезпечення роботи Qt-бібліотек у системі Android. Інструментарій для створення пакетів оновлено з aapt до aapt2 (Android Asset Packaging Tool).

Джерело: opennet.ru

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