O lançamento de a nova versão de «Qb 1.20», sendo este o sétimo lançamento desde que a Qt Company deixou o desenvolvimento do projeto e que é produzido pela comunidade com interesse em continuar com o desenvolvimento do Qbs.
Deve ser lembrado que em 2018, a Qt Company decidiu descontinuar o desenvolvimento do Qbs. O Qbs evoluiu como um substituto para o qmake, mas eventualmente foi decidido usar o CMake como o sistema de compilação principal para o Qt no longo prazo. O desenvolvimento do Qbs agora continua como um projeto independente apoiado pela comunidade e desenvolvedores interessados. Para o desenvolvimento, a infraestrutura da empresa Qt ainda é usada.
Para construir o Qbs, o Qt é necessário como uma dependência, embora o próprio Qbs seja projetado para organizar a construção de qualquer projeto. Qbs usa uma versão simplificada da linguagem QML para definir scripts de construção para o projeto, permitindo definir regras de construção bastante flexíveis nas quais módulos externos podem ser conectados, funções JavaScript podem ser usadas e regras de construção arbitrárias podem ser criadas.
A linguagem de script usada no Qbs foi adaptada para automatizar a geração e análise de sequências comandos de compilação por IDEs. Além disso, o Qbs não gera makefiles, mas ele mesmo, sem intermediários como o utilitário make, controla o lançamento de compiladores e vinculadores, otimizando o processo de construção com base em um gráfico detalhado de todas as dependências.
A presença dos dados iniciais na estrutura e dependências no projeto permite que você paralelize efetivamente a execução de operações em vários threads. Para grandes projetos com um grande número de arquivos e subdiretórios, o desempenho da reconstrução com Qbs pode superar várias vezes; a reconstrução é quase instantânea e não força o desenvolvedor a perder tempo esperando.
Principais notícias do Qbs 1.20
Nesta nova versão do Qbs 1.20, houve cerca de 127 contribuições que foram incluídas nesta versão desde a versão 1.19.0.
Das mudanças mais importantes, destaca-se que foi implementado suporte Qt 6 completo e tendo suporte até o branch Qt 6.2, além disso o módulo QtScript foi atualizado e portado para C ++ 17, que não é mais fornecido no Qt 6 e agora faz parte do Qbs.
Para a plataforma Android, o suporte foi implementado para usar o compilador dex d8 em vez de dx definir a propriedade Android.sdk.dexCompilerName, enquanto por outro lado apoio ao ministro foi descontinuado, um programa para proteger as bibliotecas Qt que funcionam no sistema Android e a ferramenta de empacotamento foi atualizado de aapt para aapt2 (ferramenta de empacotamento de ativos Android) que foi introduzida nas Ferramentas de construção em 26.0.2 e substituiu aapt no gradle desde a versão 3.0.0.
Também destacado nesta nova versão que a compatibilidade com C e C ++ foi aprimorada, além disso se suporte adicionado para compiladores COSMIC (COLDFIRE / M68K, HCS08, HCS12, STM8 e STM32) e o Digital Mars Toolkit. Para o compilador MSVC, ele implementou a propriedade cpp.enableCxxLanguageMacro e adicionou suporte para o valor "c ++ 20" em cpp.cxxLanguageVersion.
Das outras mudanças que se destacam nesta nova versão:
- Para uma montagem com um conjunto de propriedades diferente, a lista de propriedades antigas é exibida.
- Um comando foi adicionado a qbs-config para adicionar o perfil completo, o que elimina a necessidade de adicionar propriedades separadas e acelera significativamente o lançamento na presença de vários SDKs Android.
- Corrigido o problema com o manuseio incorreto dos tempos de atualização de arquivos na plataforma FreeBSD.
- No macOS Homebrew, ele foi movido do qmake para o CMake.
- Manipulação de cpp.linkerWrapper corrigida com conjunto de ferramentas MSVC
- Suporte corrigido para ferramentas QML sendo movidas para o diretório
/libexecno Qt 6.2
Finalmente se você estiver interessado em saber mais sobre isso sobre esta nova versão, você pode verificar os detalhes no link a seguir.