Izdanje alata za sastavljanje Qbs 1.17

Predstavljeno oslobađanje alata za montažu Qbs 1.17. Это четвёртый выпуск после ухода компании Qt Company от разработки проекта, подготовленный силами сообщества, заинтересованного в продолжении разработки Qbs. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

Skriptni jezik koji se koristi u Qbs-u prilagođen je za automatizaciju generiranja i raščlanjivanja skripti za izgradnju u integriranim razvojnim okruženjima. Osim toga, Qbs ne generira makefileove, već sam, bez posrednika poput uslužnog programa make, kontrolira pokretanje prevoditelja i povezivača, optimizirajući proces izgradnje na temelju detaljnog grafa svih ovisnosti. Prisutnost početnih podataka o strukturi i ovisnostima u projektu omogućuje vam učinkovito paraleliziranje izvođenja operacija u nekoliko niti. Za velike projekte koji se sastoje od velikog broja datoteka i poddirektorija, izvedba ponovne izgradnje pomoću Qbs-a može biti nekoliko puta brža od make - ponovna izgradnja se izvodi gotovo trenutno i ne tjera programera da gubi vrijeme na čekanje.

Podsjetimo, tvrtka Qt je 2018 primljen odluku o prestanku razvoja Qbs-a. Qbs je razvijen kao zamjena za qmake, ali na kraju je odlučeno koristiti CMake kao glavni sustav za izgradnju za Qt dugoročno. Razvoj Qbs-a sada je nastavljen kao neovisni projekt podržan od strane zajednice i zainteresiranih programera. Infrastruktura Qt Company i dalje se koristi za razvoj.

Glavni inovacije Qbs 1.17:

  • Dodana početna podrška Qt 6.
  • Добавлен модуль capnp для использования протокола сериализации данных Kapetan Proto в приложениях на C++.
  • Dodano возможность указания переменных product и project в правой части определений свойства moduleProvider (например, «moduleProviders.mygenerator.chooseLettersFrom: project.beginning»).
  • Добавлена поддержка инструментариев для сборки проектов C/C++ для работы поверх оборудования без ОС (bare-metal, с выставлением параметра qbs.targetPlatform в значение ‘none’): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) и
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Добавлена поддержка среды разработки Xcode 12.0 для macOS.
  • Проведена чистка модулей «Qt for Android».
  • Улучшена поддержка сборки для платформы Android. В модуль Android.sdk добавлено свойство packageType для создания пакетов «aab» (Android App Bundles) вместо «apk», а также свойство aaptName для использования нового aapt2 (Android Asset Packaging Tool). Прекращена поддержка сборки Android-приложений для платформ ARMv5, MIPS и MIPS64.

Izvor: opennet.ru

Dodajte komentar