Pubblicata l'ultima versione dell'insieme di strumenti di build Qbs

Azienda Qt Company ha pubblicato strumenti di building Qbs 1.13 (Qt Build Suite). Questa è l'ultima versione di Qbs, realizzata da Qt Company. Ricordiamo che in precedenza era stata presa presa la decisione di interrompere lo sviluppo di Qbs. Qbs è stato sviluppato come sostituto di qmake, ma alla fine è stata decisa l'adozione di CMake come sistema principale di building per Qt a lungo termine.

Presto si prevede la creazione di un progetto indipendente per continuare lo sviluppo di Qbs da parte della comunità, la cui sorte dipenderà dall'interesse per questo sistema di building da parte degli sviluppatori indipendenti. Qt Company sta interrompendo il lavoro su Qbs a causa della necessità di ulteriori investimenti e dei costi elevati per promuovere Qbs.

Ricordiamo che per compilare Qbs è necessaria Qt come dipendenza, sebbene lo stesso Qbs sia progettato per gestire la building di qualsiasi progetto. Qbs utilizza una versione semplificata del linguaggio QML per definire gli script di building del progetto, consentendo di stabilire regole di building abbastanza flessibili, dove possono essere collegate moduli esterni, utilizzare funzioni JavaScript e creare regole di building personalizzate.
Qbs non genera file make e controlla autonomamente l'esecuzione dei compilatori e dei linker, ottimizzando il processo di building sulla base di un grafo dettagliato di tutte le dipendenze. La presenza di dati iniziali sulla struttura e sulle dipendenze nel progetto consente di parallelizzare efficacemente l'esecuzione delle operazioni su più thread.

Le principali novità di Qbs 1.13:

  • È stata aggiunta la possibilità di utilizzare moduli pkg-config nei progetti, applicando lo stesso meccanismo di gestione delle dipendenze utilizzato per i moduli Qbs. Ad esempio, se è presente un pacchetto per la building di OpenSSL basato su pkg-config nel sistema, per utilizzarlo nel progetto Qbs basta aggiungere 'Depends { name: «openssl» }';
  • È stata implementata la rilevazione automatica dei moduli Qt disponibili. Gli sviluppatori non devono più creare un profilo con i percorsi ai moduli utilizzando il comando setup-qt, tutti i moduli Qt indicati nelle dipendenze verranno configurati automaticamente;
  • Sono stati aggiunti strumenti per controllare il numero di task di building in parallelo a livello di singoli comandi. Ad esempio, durante l'esecuzione del linking si crea un carico significativo su I/O e viene utilizzata una grande quantità di RAM, pertanto il linker richiede altre impostazioni di avvio, diverse da quelle del compilatore. Le impostazioni separate possono ora essere specificate con il comando «qbs —job-limits linker:2,compiler:8»;
  • Sono state apportate modifiche al linguaggio degli script. Le regole ora possono essere definite senza specificare un file di output fittizio, e all'inizio dei file di progetto non è più necessario utilizzare la direttiva «import qbs». Sono stati aggiunti nuovi attributi install e installDir agli elementi Application, DynamicLibrary e StaticLibrary per una più semplice installazione dei file eseguibili;
  • È stata aggiunta la supporto per la scansione ricorsiva degli script del linker
    GNU linker;
  • Per il linguaggio C++ è stata implementata la proprietà cpp.linkerVariant per forzare l'utilizzo dei linker ld.gold, ld.bfd o lld;
  • Per Qt è stata presentata la proprietà Qt.core.enableBigResources per creare risorse di grandi dimensioni in Qt
  • Invece del superato elemento AndroidApk, è consigliato utilizzare il tipo generale Application;
  • È stato aggiunto un modulo per la creazione di test basati su autotest;
  • È stato aggiunto un modulo texttemplate con funzionalità simili a QMAKE_SUBSTITUTES di qmake;
  • È stata aggiunta la prima supporto per il formato Protocol Buffers per C++ e Objective-C.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster