Megjelent a Qbs build eszközkészlete. Ez a hetedik kiadás, mióta a Qt Company kilépett a projekt fejlesztéséből. A Qbs fejlesztésének folytatásában érdekelt közösség készítette. A Qbs a Qt-t igényli a buildhez, bár maga a Qbs bármilyen projekt buildjének kezelésére szolgál. A Qbs a QML nyelv egyszerűsített változatát használja a projekt build szkriptek definiálásához, lehetővé téve rugalmas build szabályok definiálását, amelyek külső modulokat is tartalmazhatnak, JavaScript függvényeket használhatnak, és egyéni build szabályokat hozhatnak létre.
A Qbs-ben használt szkriptnyelvet úgy alakították ki, hogy automatizálja a build szkriptek IDE-k általi generálását és elemzését. Ezenkívül a Qbs nem hoz létre makefile-okat, és maga, közvetítők, például a make segédprogram nélkül, vezérli a fordítók és linkerek elindítását, optimalizálva az összeállítási folyamatot az összes függőség részletes grafikonja alapján. A kezdeti adatok jelenléte a struktúráról és a függőségekről a projektben lehetővé teszi a műveletek végrehajtásának hatékony párhuzamosítását több szálban. A nagyszámú fájlból és alkönyvtárból álló nagy projektek esetében a Qbs használatával végzett újraépítési teljesítmény többszörösen felülmúlhatja a make-t – az újraépítés szinte azonnal megtörténik, és nem kényszeríti a fejlesztőt a várakozásra.
Emlékezzünk vissza, hogy 2018-ban a Qt Company úgy döntött, hogy leállítja a Qbs fejlesztését. A Qbs-t a qmake helyettesítésére fejlesztették ki, de végül úgy döntöttek, hogy hosszú távon a CMake-et használják a Qt fő összeállítási rendszereként. A Qbs fejlesztése immár független projektként folytatódott, közösségi erők és érdeklődő fejlesztők támogatásával. Továbbra is a Qt Company infrastruktúráját használják fejlesztésre.
A Qbs 1.20 legfontosabb újításai:
- A Qt 6 keretrendszer teljes támogatása megvalósult, beleértve a Qt 6.2 ágat is.
- A QtScript modul, amely már nem része a Qt 6-nak, és mostantól a Qbs része, frissült és átkerült C++17-re.
- Eltérő tulajdonságkészlettel rendelkező összeállítás esetén a régi tulajdonságok listája jelenik meg.
- A qbs-config fájlhoz hozzáadtunk egy parancsot egy teljes profil hozzáadásához, így nem kell külön tulajdonságokat hozzáadni, és jelentősen felgyorsítja az indítást több Android SDK jelenléte esetén.
- Kijavítottunk egy hibát, ami a FreeBSD platformon a fájlok frissítési idejének helytelen kezelésével járt.
- Továbbfejlesztett C/C++ támogatás. Hozzáadott támogatás a COSMIC fordítókhoz (COLDFIRE/M68K, HCS08, HCS12, STM8 és STM32) és a Digital Mars eszközlánchoz. Az MSVC fordítóhoz implementálták a cpp.enableCxxLanguageMacro tulajdonságot, és hozzáadták a "c++20" érték támogatását a cpp.cxxLanguageVersion fájlban.
- Android platformon a dx helyett a d8 dex fordító használatának támogatása az Android.sdk.dexCompilerName tulajdonság beállításával valósult meg. A Ministro, a Qt könyvtárakat Androidon támogató program támogatása megszűnt. A csomagolóeszközkészletet frissítettük az aapt-ról az aapt2-re (Android Asset Packaging Tool).
Forrás: opennet.ru
