Rilascio dello strumento di assemblaggio Qbs 1.17

Introdotto rilascio degli strumenti di assemblaggio Qb 1.17. Si tratta della quarta 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.17:

  • Aggiunto supporto iniziale Qt 6.
  • Aggiunto modulo capnp per utilizzare il protocollo di serializzazione dei dati Capitano Proto nelle applicazioni C++.
  • Aggiunto da possibilità di specificare variabili di prodotto e di progetto sul lato destro delle definizioni delle proprietà moduleProvider (ad esempio, "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Aggiunto supporto per strumenti per la creazione di progetti C/C++ per funzionare su hardware senza sistema operativo (bare metal, con il parametro qbs.targetPlatform impostato su 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) E
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Aggiunto il supporto per l'ambiente di sviluppo Xcode 12.0 per macOS.
  • I moduli Qt per Android sono stati puliti.
  • Supporto di build migliorato per la piattaforma Android. Aggiunta una proprietà packageType al modulo Android.sdk per creare pacchetti "aab" (Android App Bundle) anziché "apk", nonché una proprietà aaptName per utilizzare il nuovo aapt2 (Android Asset Packaging Tool). Il supporto per la creazione di applicazioni Android per le piattaforme ARMv5, MIPS e MIPS64 è stato interrotto.

Fonte: opennet.ru

Aggiungi un commento