Rilascio dello strumento di assemblaggio Qbs 1.16

Introdotto rilascio degli strumenti di assemblaggio Qb 1.16. Si tratta della terza release da quando la società Qt ha abbandonato lo sviluppo del progetto, preparata dalla comunità interessata a continuare lo sviluppo di Qbs. Per costruire Qbs, è necessario Qt tra le dipendenze, sebbene Qbs stesso sia progettato per organizzare l'assemblaggio di qualsiasi progetto. Qbs utilizza una versione semplificata del linguaggio QML per definire gli script di compilazione del progetto, che consente di definire regole di compilazione abbastanza flessibili in grado di connettere moduli esterni, utilizzare funzioni JavaScript e creare regole di compilazione personalizzate.

Il linguaggio di scripting utilizzato in Qbs è adattato per automatizzare la generazione e l'analisi degli script di build da parte degli IDE. Inoltre, Qbs non genera makefile e, senza intermediari come l'utility make, controlla l'avvio di compilatori e linker, ottimizzando il processo di compilazione sulla base di un grafico 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 in più thread. Per progetti di grandi dimensioni costituiti da un gran numero di file e sottodirectory, le prestazioni delle ricostruzioni utilizzando Qbs possono superare make di diverse volte: la ricostruzione è quasi istantanea e non richiede allo sviluppatore di perdere tempo in attesa.

Ricordiamo che nel 2018 la Qt Company era ricevuto decisione di interrompere lo sviluppo di Qbs. Qbs è stato sviluppato in sostituzione di qmake, ma alla fine si è deciso di utilizzare CMake come sistema di compilazione principale per Qt a lungo termine. Lo sviluppo di Qbs è ora continuato come progetto indipendente supportato dalla comunità e dagli sviluppatori interessati. L'infrastruttura Qt Company continua a essere utilizzata per lo sviluppo.

Il principale innovazioni Qbs 1.16:

  • È stata assicurata la fusione delle proprietà dell'elenco in moduli collegati da dipendenze reciproche, il che è importante, ad esempio, quando si elaborano flag come cpp.staticLibraries;
  • Aggiunto rilevamento automatico di GCC e IAR per i microcontrollori Renesas;
  • Aggiunto supporto per Xcode 11.4 su macOS;
  • Le capacità del modulo di supporto clang-cl sono state ampliate;
  • Fornito rilevamento automatico di MSVC, clang-cl e MinGW nei profili in cui la posizione del toolkit non è definita esplicitamente;
  • È stato semplificato abilitare e configurare le informazioni di debug installate separatamente (cpp.separateDebugInformation) attraverso le sezioni Application e DynamicLibrary nei parametri del progetto;
  • Aggiunto il supporto per Qt 5.14 per Android e aggiornata l'utility qbs-setup-android;
  • Aggiunto il supporto per i file JSON generati dall'utilità moc (Qt >= 5.15) alle impostazioni Qt.core.generateMetaTypesFile e Qt.core.metaTypesInstallDir;
  • Aggiunto il supporto per il nuovo meccanismo di dichiarazione del tipo per QML introdotto in Qt 5.15;
  • Aggiunta l'impostazione ConanfileProbe per semplificare l'integrazione di Qbs con il gestore pacchetti Conan (per C/C++).

Fonte: opennet.ru

Aggiungi un commento