De definitieve release van de verzameltool Qbs is gepubliceerd

Qt Company heeft gepubliceerd buildtool Qbs 1.13 (Qt Build Suite). Dit is de laatste uitgave van Qbs, ontwikkeld door Qt Company. Ter herinnering, eerder was er een aangenomen beslissing genomen om de ontwikkeling van Qbs te stoppen. Qbs werd ontwikkeld als vervanging voor qmake, maar uiteindelijk is besloten om CMake te gebruiken als het belangrijkste buildsysteem voor Qt op de lange termijn.

Binnenkort wordt de oprichting van een onafhankelijke gemeenschap verwacht om de ontwikkeling van Qbs voort te zetten, waarbij het lot daarvan zal afhangen van de interesse van onafhankelijke ontwikkelaars in het buildsysteem. Qt Company stopt met de werkzaamheden aan Qbs vanwege de noodzaak van extra investeringen en hoge kosten voor de promotie van Qbs.

Ter herinnering, voor het bouwen van Qbs is Qt als afhankelijkheid vereist, hoewel Qbs zelf is ontworpen om de bouw van elk project te organiseren. Qbs maakt gebruik van een vereenvoudigde versie van de QML-taal om de bouwscripts van een project te definiëren, wat flexibiliteit in de bouwregels mogelijk maakt, waarbij externe modules kunnen worden aangesloten, functies kunnen worden gebruikt in JavaScript en willekeurige bouwregels kunnen worden gemaakt.
Qbs genereert geen make-bestanden en beheert zelf het starten van compilers en linkers, waarbij het bouwproces wordt geoptimaliseerd op basis van een gedetailleerde grafiek van alle afhankelijkheden. De beschikbaarheid van oorspronkelijke gegevens over de structuur en afhankelijkheden in het project maakt het mogelijk om de uitvoering van taken in meerdere threads efficiënt te paralleliseren.

Belangrijkste vernieuwingen in Qbs 1.13:

  • De mogelijkheid om modules van pkg-config in projecten te gebruiken is toegevoegd met behulp van hetzelfde afhankelijkheidsbeheersysteem dat voor Qbs-modules wordt toegepast. Bijvoorbeeld, als er een pakket voor het bouwen van OpenSSL op basis van pkg-config in het systeem aanwezig is, is het voldoende om ‘Depends { name: «openssl» }’ toe te voegen in het Qbs-project;
  • De automatische detectie van beschikbare Qt-modules is geïmplementeerd. Ontwikkelaars hoeven geen profiel meer te creëren met paden naar de modules met behulp van de setup-qt-opdracht; alle in de afhankelijkheden genoemde Qt-modules worden automatisch geconfigureerd.
  • Er zijn middelen toegevoegd voor het beheren van het aantal gelijktijdig uitvoerende build-taken op het niveau van afzonderlijke teams. Bijvoorbeeld, bij het uitvoeren van de koppeling wordt een hoge belasting op de invoer/uitvoer gecreëerd en wordt een aanzienlijke hoeveelheid RAM verbruikt, daarom vereist de linker andere opstartinstellingen dan de compiler. Aparte instellingen kunnen nu worden opgegeven met het commando «qbs —job-limits linker:2,compiler:8»;
  • Er zijn wijzigingen aangebracht in de scripts taal. Regels kunnen nu worden gedefinieerd zonder een placeholder-bestand voor uitvoer op te geven, en aan het begin van projectbestanden is het niet langer noodzakelijk om de directieve «import qbs» te gebruiken. Nieuwe eigenschappen install en installDir zijn toegevoegd aan de elementen Application, DynamicLibrary en StaticLibrary voor een eenvoudigere installatie van uitvoerbare bestanden;
  • Ondersteuning voor recursieve scanning van linker scripts is toegevoegd.
    GNU linker;
  • Voor de C++ taal is de eigenschap cpp.linkerVariant geïmplementeerd om dwangmatig gebruik te maken van linkers ld.gold, ld.bfd of lld;
  • Voor Qt is de eigenschap Qt.core.enableBigResources geïntroduceerd voor het maken van grote Qt-resources.
  • In plaats van het verouderde element AndroidApk wordt aangeraden om het algemene type Application te gebruiken;
  • Een module voor het maken van tests op basis van autotest is toegevoegd;
  • De module texttemplate is toegevoegd met mogelijkheden die lijken op QMAKE_SUBSTITUTES in qmake;
  • Initieel is ondersteuning voor het Protocol Buffers-formaat voor C++ en Objective-C toegevoegd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster