Megjelent a Qbs build eszközök végleges kiadása

Qt Társaság közzétett összeszerelő szerszámok Qbs 1.13 (Qt Build Suite). Ez a Qt Company által készített Qbs legújabb kiadása. Emlékezzünk a korábban történtekre kapott döntés a Qbs fejlesztésének leállításáról. 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 közeljövőben várhatóan egy független projekt jön létre a Qb-k közösségi fejlesztésének folytatására, amelynek sorsa a független fejlesztők érdeklődésétől függ majd a kérdéses összeszerelési rendszer iránt. A Qt Company leállítja a Qbs-n való munkát, mivel további befektetésekre van szükség, és a Qbs promóciójának magas költségei miatt.

Emlékezzünk vissza, hogy a Qbs felépítéséhez függőségként Qt szükséges, bár magát a Qbs-t arra tervezték, hogy megszervezze bármilyen projekt összeállítását. A Qbs a QML nyelv egyszerűsített változatát használja a projektépítési szkriptek meghatározásához, amely lehetővé teszi meglehetősen rugalmas összeállítási szabályok meghatározását, amelyek külső modulokat csatlakoztathatnak, JavaScript-függvényeket használhatnak, és egyéni összeállítási szabályokat hozhatnak létre.
A Qbs nem hoz létre makefile-okat, és függetlenül szabályozza a fordítók és linkerek indítását, optimalizálva az összeállítási folyamatot az összes függőséget tartalmazó részletes grafikon 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 Qbs 1.13 legfontosabb újításai:

  • Hozzáadtuk a pkg-config modulok használatát olyan projektekben, amelyek ugyanazt a függőségi feldolgozási mechanizmust használják, mint a Qbs moduloknál. Például, ha a rendszerében van egy csomag az OpenSSL pkg-config alapján történő felépítéséhez, akkor a Qbs projektben való használatához csak adja hozzá a 'Depends { name: "openssl" }';
  • Az elérhető Qt modulok automatikus felismerése megvalósított. A fejlesztőknek többé nem kell modul-útvonalakat tartalmazó profilt létrehozniuk a setup-qt paranccsal; a függőségekben megadott összes Qt-modul automatikusan konfigurálva lesz;
  • Hozzáadott eszközök a párhuzamosan futó összeállítási feladatok számának szabályozásához az egyes parancsok szintjén. Például a linkelés nagy I/O terhelést hoz létre, és jelentős mennyiségű RAM-ot fogyaszt, így a linkernek más indítási beállításokra van szüksége, mint a fordítónak. Külön beállítások állíthatók be a „qbs —job-limits linker:2,compiler:8” paranccsal;
  • Változások történtek a szkriptnyelven. A szabályok mostantól anélkül is meghatározhatók, hogy megadnának egy csonkfájlt a kimenethez, és nem szükséges az „import qbs” direktíva a projektfájlok elején használni. Új telepítési és installDir tulajdonságok kerültek hozzáadásra az Application, DynamicLibrary és StaticLibrary elemekhez a futtatható fájlok kényelmesebb telepítése érdekében;
  • Támogatás hozzáadva a linker szkriptek rekurzív vizsgálatához
    GNU linker;

  • A C++ esetében a cpp.linkerVariant tulajdonságot az ld.gold, ld.bfd vagy lld linkerek használatára kényszerítették;
  • A Qt bevezeti a Qt.core.enableBigResources tulajdonságot a nagy Qt-erőforrások létrehozásához
  • Az elavult AndroidApk elem helyett az általános Alkalmazástípus használata javasolt;
  • Hozzáadott egy modult az automatikus teszten alapuló tesztek létrehozásához;
  • Hozzáadott szövegsablon modul a qmake QMAKE_SUBSTITUTES-hoz hasonló képességekkel;
  • Hozzáadott kezdeti támogatás a Protocol Buffers formátumhoz a C++ és az Objective-C számára.

Forrás: opennet.ru

Hozzászólás