Используемый в 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).
Источник: http://www.opennet.ru/opennews/art.shtml?num=55965