Release of Qbs build tool 1.20

The release of the Qbs 1.20 build tool has been presented. This is the seventh release since the Qt Company ceased development of the project, prepared by the community interested in continuing Qbs development. Building with Qbs requires Qt among its dependencies, although Qbs is designed to organize the build of any projects. Qbs uses a simplified version of the QML language to define project build scripts, allowing for sufficiently flexible build rules that can incorporate external modules, utilize JavaScript functions, and create arbitrary build rules.

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.

It is worth reminding that in 2018, the Qt Company decided to stop the development of Qbs. Qbs was 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. The development of Qbs is now continued in the form of an independent project, supported by the community and interested developers. The development still utilizes the infrastructure of the Qt Company.

Key innovations of Qbs 1.20:

  • Full support for the Qt 6 framework has been implemented, including the Qt 6.2 branch.
  • The QtScript module has been updated and ported to C++17, which is no longer included in Qt 6 and is now part of Qbs.
  • When building with a different set of properties, a list of old properties will be output.
  • A command to add the entire profile has been added to qbs-config, allowing for the elimination of separate property additions and significantly speeding up startup when multiple Android SDKs are present.
  • An issue with incorrect processing of file update times on the FreeBSD platform has been resolved.
  • Support for C/C++ has been improved. Support for COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8, and STM32) compilers and Digital Mars tooling has been added. For the MSVC compiler, the cpp.enableCxxLanguageMacro property has been implemented, and support for the ‘c++20’ value in cpp.cxxLanguageVersion has been added.
  • For the Android platform, support for using the d8 dex compiler instead of dx has been implemented by setting the Android.sdk.dexCompilerName property. Support for Ministro, the program that facilitated the operation of Qt libraries on the Android system, has been discontinued. The packaging tool has been updated from aapt to aapt2 (Android Asset Packaging Tool).

Source: opennet.ru

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