Qbs 1.17 조립 도구 릴리스

도입 조립 도구 출시 QBS 1.17. Это четвёртый выпуск после ухода компании Qt Company от разработки проекта, подготовленный силами сообщества, заинтересованного в продолжении разработки Qbs. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

Qbs에서 사용되는 스크립팅 언어는 IDE에서 빌드 스크립트의 생성 및 구문 분석을 자동화하도록 조정되었습니다. 또한 Qbs는 make 파일을 생성하지 않으며 make 유틸리티와 같은 중개자 없이 자체적으로 컴파일러 및 링커의 시작을 제어하여 모든 종속성에 대한 자세한 그래프를 기반으로 빌드 프로세스를 최적화합니다. 프로젝트의 구조 및 종속성에 대한 초기 데이터가 있으면 여러 스레드에서 작업 실행을 효과적으로 병렬화할 수 있습니다. 많은 수의 파일과 하위 디렉터리로 구성된 대규모 프로젝트의 경우 Qbs를 사용한 재구축 성능은 make보다 몇 배나 뛰어납니다. 재구축은 거의 즉각적이며 개발자가 대기하는 데 시간을 소비하지 않습니다.

2018년에 Qt Company는 받아 들여 Qbs 개발을 중단하기로 결정했습니다. Qbs는 qmake를 대체하기 위해 개발되었지만 궁극적으로는 장기적으로 CMake를 Qt의 주요 빌드 시스템으로 사용하기로 결정되었습니다. Qbs의 개발은 이제 커뮤니티와 관심 있는 개발자의 지원을 받는 독립적인 프로젝트로 계속되었습니다. Qt Company 인프라는 계속해서 개발에 사용됩니다.

주요 혁신 QBS 1.17:

  • 초기 지원 추가 QT 6.
  • Добавлен модуль capnp для использования протокола сериализации данных 캡틴 프로토 в приложениях на C++.
  • 추가됨 возможность указания переменных 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.

출처 : opennet.ru

코멘트를 추가