Release of Qbs 1.17 assembly toolkit

Introduced release of the build tool Qbs 1.17. This is the fourth release after Qt Company exited the project’s development, prepared by a community interested in continuing the development of Qbs. Building Qbs requires Qt among its dependencies, although Qbs itself is meant for organizing the build of any projects. Qbs uses a simplified version of the QML language to define the project build scripts, allowing for sufficiently flexible build rules where external modules can be included, JavaScript functions can be used, and custom build rules can be created.

The scripting language used in Qbs is adapted for automating the generation and parsing of build scripts in integrated development environments. Furthermore, Qbs does not generate makefiles but controls the launch of compilers and linkers directly, optimizing the build process based on a detailed graph of all dependencies. Having original data about the project's structure and dependencies allows for efficiently parallelizing operations across multiple threads. For large projects consisting of a significant number of files and subdirectories, the performance of rebuilding using Qbs can surpass make by several times—rebuilds occur almost instantly and do not cause developers to waste time waiting.

Let’s remember that in 2018, the Qt Company made a made decision to cease Qbs development. Qbs developed as a replacement for qmake, but ultimately it was decided to use CMake as the primary build system for Qt in the long term. Qbs development is now continued as an independent project supported by the community and interested developers. For development, the infrastructure of Qt Company is still being used.

Key innovations Qbs 1.17:

  • Initial support added Qt 6.
  • The capnp module has been added for using data serialization protocols Cap’n Proto in C++ applications.
  • Added Ability to specify product and project variables on the right side of the moduleProvider property definitions (for example, "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Added support for toolchains for building C/C++ projects to run on hardware without an OS (bare-metal, by setting the qbs.targetPlatform parameter to ‘none’): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) and
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).
  • Support for Xcode 12.0 development environment added for macOS.
  • Cleaned up the modules for Qt for Android.
  • Improved building support for the Android platform. The Android.sdk module has added the packageType property to create ‘aab’ (Android App Bundles) instead of ‘apk’, as well as the aaptName property to use the new aapt2 (Android Asset Packaging Tool). Support for building Android applications for ARMv5, MIPS, and MIPS64 platforms has been discontinued.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster