Qbs 1.16 assembly tool release

Submitted by production of assembly tools Qbs 1.16. This is the third 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 was received decision to stop development of 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.

All innovations Qbs 1.16:

  • The merging of list properties in modules connected by mutual dependencies has been ensured, which is important, for example, when processing flags such as cpp.staticLibraries;
  • Added automatic detection of GCC and IAR for Renesas microcontrollers;
  • Added support for Xcode 11.4 on macOS;
  • The capabilities of the clang-cl support module have been expanded;
  • Provided automatic detection of MSVC, clang-cl and MinGW in profiles where the location of the toolkit is not explicitly defined;
  • It has been simplified to enable and configure separately installed debugging information (cpp.separateDebugInformation) through the Application and DynamicLibrary sections in the project parameters;
  • Added support for Qt 5.14 for Android and updated the qbs-setup-android utility;
  • Added support for JSON files generated by the moc utility (Qt >= 5.15) to the Qt.core.generateMetaTypesFile and Qt.core.metaTypesInstallDir settings;
  • Added support for the new type declaration mechanism for QML introduced in Qt 5.15;
  • Added ConanfileProbe setting to simplify Qbs integration with package manager Conan (for C/C++).

Source: opennet.ru

Add a comment