Rilascio dello strumento di assemblaggio Qbs 1.21 e inizio dei test di Qt 6.3

È stato presentato il rilascio dello strumento di assemblaggio Qbs 1.21. Si tratta dell'ottava versione dopo l'uscita della Qt Company dallo sviluppo del progetto, realizzata dalla comunità interessata a proseguire lo sviluppo di Qbs. Per assemblare Qbs è necessaria la dipendenza da Qt, anche se Qbs è progettato per gestire l'assemblaggio di qualsiasi progetto. Qbs utilizza una versione semplificata del linguaggio QML per definire gli script di assemblaggio del progetto, permettendo di stabilire regole di assemblaggio abbastanza flessibili, dove possono essere collegati moduli esterni, utilizzare funzioni JavaScript e creare regole di assemblaggio personalizzate.

Il linguaggio di scripting utilizzato in Qbs è stato adattato per automatizzare la generazione e l'analisi degli script di build nei vari ambienti di sviluppo integrati. Inoltre, Qbs non genera file make, ma gestisce direttamente, senza intermediari come l'utilità make, l'avvio dei compilatori e dei linker, ottimizzando il processo di build sulla base di un grafo dettagliato di tutte le dipendenze. La disponibilità di dati iniziali sulla struttura e sulle dipendenze del progetto consente di parallelizzare efficacemente l'esecuzione delle operazioni su più thread. Per progetti di grandi dimensioni, composti da un elevato numero di file e sottodirectory, le prestazioni della ricompilazione con Qbs possono superare di gran lunga quelle di make — la ricompilazione avviene quasi istantaneamente, senza far perdere tempo agli sviluppatori in attesa.

Ricordiamo che nel 2018 l'azienda Qt Company ha deciso di interrompere lo sviluppo di Qbs. Qbs è stato sviluppato come sostituto di qmake, ma alla fine si è deciso di utilizzare CMake come sistema di build principale per Qt a lungo termine. Lo sviluppo di Qbs è ora proseguito sotto forma di progetto indipendente, sostenuto dalla comunità e da sviluppatori interessati. Per lo sviluppo, si continua a utilizzare l'infrastruttura di Qt Company.

Novità principali di Qbs 1.21:

  • È stato rivisto il meccanismo dei fornitori di moduli (generatori di moduli). Per framework come Qt e Boost, ora è possibile utilizzare più di un fornitore, definire quale fornitore avviare tramite la nuova proprietà qbsModuleProviders e specificare la priorità per la selezione dei moduli generati da diversi fornitori. Ad esempio, si possono specificare due fornitori «Qt» e «qbspkgconfig», dove il primo tenterà di utilizzare un'installazione personalizzata di Qt (cercando qmake) e, se tale installazione non verrà trovata, il secondo fornitore cercherà di utilizzare Qt fornito dal sistema (tramite una chiamata a pkg-config): CppApplication { Depends { name: «Qt.core» } files: «main.cpp» qbsModuleProviders: [«Qt», «qbspkgconfig»] }
  • È stato aggiunto il provider «qbspkgconfig», che sostituisce il provider di moduli «fallback», il quale tentava di generare un modulo tramite pkg-config se il modulo richiesto non era stato generato da altri provider. A differenza di «fallback», in «qbspkgconfig» viene utilizzata una libreria C++ integrata per la lettura diretta dei file «.pc» invece della chiamata all'utility pkg-config, il che consente di velocizzare le operazioni e ottenere ulteriori informazioni sulle dipendenze dei pacchetti, non disponibili con la chiamata all'utility pkg-config.
  • È stato aggiunto il supporto per la specifica C++23, che definisce il futuro standard C++.
  • Per l'insieme di strumenti GCC è stato aggiunto il supporto per l'architettura Elbrus E2K.
  • Per la piattaforma Android è stata aggiunta la proprietà Android.ndk.buildId, che consente di sovrascrivere il valore predefinito per il flag del linker «—build-id».
  • Nei moduli capnproto e protobuf è stata implementata la possibilità di utilizzare runtime forniti dal provider qbspkgconfig.
  • Sono stati risolti problemi di tracciamento delle modifiche in file di codice sorgente sulla piattaforma FreeBSD, che si verificavano a causa della perdita dei millisecondi nella valutazione del tempo di modifica del file.
  • È stata aggiunta la proprietà ConanfileProbe.verbose, che semplifica il debug dei progetti che utilizzano il gestore di pacchetti Conan.

È inoltre da notare l'inizio della fase di alpha testing del framework Qt 6.3, che introduce un nuovo modulo "Qt Language Server" con supporto per i protocolli Language Server e JsonRpc 2.0. Nel modulo Qt Core sono state aggiunte molte nuove funzionalità, nel modulo Qt Quick Dialogs è stato implementato il tipo di QML MessageDialog per l'uso delle finestre di dialogo fornite dalla piattaforma, e nel modulo Qt Wayland Compositor è stato aggiunto un compositore. un server Qt Shell e API per la creazione di estensioni personalizzate dell'interfaccia utente.

Nel modulo Qt QML è stata proposta l'implementazione del compilatore qmltc (QML type compiler), che consente di compilare le strutture degli oggetti QML in classi in C++. Per gli utenti commerciali, è iniziato il testing del prodotto Qt Quick Compiler, che oltre al già citato QML Type Compiler include il QML Script Compiler, che consente di compilare funzioni ed espressioni QML in codice C++. Si segnala che l'uso di Qt Quick Compiler permetterà di avvicinare le prestazioni delle applicazioni basate su QML a quelle native, in particolare per quanto riguarda la compilazione delle estensioni, si nota una riduzione dei tempi di avvio ed esecuzione di circa il 30% rispetto all'uso della variante interpretata.

Fonte: opennet.ru

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