is presented Release of the assembly toolkit QBS 1.21 . This is the eighth release after the care of the company Qt Company from the development of a project prepared by the community forces interested in continuing the development of QBS. To assemble QBs, the QT is required, although QBS itself is designed for organizing the assembly of any projects. QBS uses a simplified version of the QML language to determine the project assembly scenarios, which allows you to determine sufficiently flexible assembly rules in which external modules can be connected, used functions on JavaScript and create arbitrary assembly rules.
Script language is adapted to automate the generation and Collection scripts for integrated development media. In addition, QBS does not generate make-files, and itself, without intermediaries, such as the MAKE utility, controls the launch of compilers and layouts, optimizing the assembly process based on a detailed graph of all dependencies. The presence of initial data on structure and dependencies in the project allows you to effectively parallelate operations in several streams. For large projects consisting of a large number of files and subdirectory, re-rebeling performance using QBS may be a few times – the reboot is performed almost instantly and does not cause the developer to spend time waiting.
Recall that in 2018, Qt Company decided to terminate the QBS development. QBS developed as a replacement Qmake, but ultimately decided to use CMake as the main assembly system for Qt in the long run. The development of QBS is now continued in the form of an independent project supported by community and interested developers. For development, the Qt Company infrastructure continues to be used.
Basic innovations QBS 1.21:
- converted a module providers (module generators). For frameworks, such as Qt and Boost, you can now use more than one provider, to determine which of the providers to run with the new QBSModuleProviders property and specify the priority to select the module generated by different providers. For example, you can specify two QT and QBSPKGConfig providers, the first of which will try to use the QT user installation (through the QMake search), and if this installation is not found, the second provider will try to use the QT provided by the system (through the PKG-CONFIG call) : CPPapplication {Depends {name: “qt.core”} Files: “main.cpp” qbsmoduleproviders: [qt “,” qbspkgconfig “]}
- Added Provider “ qbspkgconfig