Qbs 1.20 assembly tool release

The Qbs 1.20 build tools release has been announced. This is the seventh release since the Qt Company left the development of the project, prepared by the community interested in continuing the development of Qbs. To build Qbs, Qt is required among the dependencies, although Qbs itself is designed to organize the assembly of any projects. Qbs uses a simplified version of the QML language to define project build scripts, which allows you to define fairly flexible build rules that can connect external modules, use JavaScript functions, and create custom build rules.

The scripting language used in Qbs is adapted to automate the generation and parsing of build scripts by IDEs. In addition, Qbs does not generate makefiles, and itself, without intermediaries such as the make utility, controls the launch of compilers and linkers, optimizing the build process based on a detailed graph of all dependencies. The presence of initial data on the structure and dependencies in the project allows you to effectively parallelize the execution of operations in several threads. For large projects consisting of a large number of files and subdirectories, the performance of rebuilds using Qbs can outperform make by several times - the rebuild is almost instantaneous and does not make the developer spend time waiting.

Recall that in 2018, the Qt Company decided to stop developing Qbs. Qbs was developed as a replacement for qmake, but ultimately it was decided to use CMake as the main build system for Qt in the long run. The development of Qbs has now continued as an independent project supported by community forces and interested developers. The Qt Company infrastructure continues to be used for development.

Key innovations in Qbs 1.20:

  • Full support for the Qt 6 framework has been implemented, including the Qt 6.2 branch.
  • The QtScript module, which is no longer supplied in Qt 17 and is now included in Qbs, has been updated and ported to C++6.
  • In the case of an assembly with a different set of properties, a list of old properties is provided.
  • A command has been added to qbs-config for adding the entire profile, which allows you to do without separately adding properties and significantly speeds up startup when you have several Android SDKs.
  • The problem with incorrect handling of file update times on the FreeBSD platform has been resolved.
  • Improved C/C++ support. Added support for COSMIC compilers (COLDFIRE/M68K, HCS08, HCS12, STM8 and STM32) and Digital Mars tools. For the MSVC compiler, the cpp.enableCxxLanguageMacro property has been implemented and support for the β€œc++20” value has been added to cpp.cxxLanguageVersion.
  • For the Android platform, support has been implemented for using the d8 dex compiler instead of dx by setting the Android.sdk.dexCompilerName property. Ministro, a program for running Qt libraries on Android, has been discontinued. The toolkit for creating packages has been updated from aapt to aapt2 (Android Asset Packaging Tool).

Source: opennet.ru

Add a comment