Foi lançado o conjunto de ferramentas de build Qbs 1.20. Esta é a sétima versão após a saída da Qt Company da desenvolvimento do projeto, preparado pela comunidade interessada em continuar o desenvolvimento do Qbs. Para compilar o Qbs, o Qt é um dos requisitos, embora o próprio Qbs esteja destinado à organização da construção de qualquer projeto. O Qbs usa uma versão simplificada da linguagem QML para definir os scripts de construção do projeto, permitindo definir regras de construção bastante flexíveis, nas quais podem ser conectados módulos externos, utilizando funções em JavaScript e criando regras de construção arbitrárias.
A linguagem de scripts utilizada no Qbs é adaptada para automatizar a geração e a análise dos scripts de compilação em ambientes de desenvolvimento integrados. Além disso, o Qbs não gera arquivos make, mas controla diretamente, sem intermediários, como a ferramenta make, a execução de compiladores e vinculadores, otimizando o processo de compilação com base em um gráfico detalhado de todas as dependências. A presença de dados iniciais sobre a estrutura e as dependências do projeto permite uma execução eficiente de operações em múltiplas threads. Para projetos grandes, compostos por muitos arquivos e subdiretórios, a performance da recompilação usando Qbs pode superar a do make em várias vezes — a recompilação é concluída quase instantaneamente e não faz o desenvolvedor perder tempo esperando.
Lembramos que, em 2018, a Qt Company decidiu interromper o desenvolvimento do Qbs. O Qbs foi desenvolvido como substituto do qmake, mas no final foi decidido usar o CMake como o sistema de compilação principal para o Qt a longo prazo. O desenvolvimento do Qbs agora é continuado na forma de um projeto independente, apoiado pela comunidade e por desenvolvedores interessados. A infraestrutura da Qt Company ainda é utilizada para o desenvolvimento.
Principais novidades do Qbs 1.20:
- Suporte completo ao framework Qt 6, incluindo a versão Qt 6.2.
- O módulo QtScript foi atualizado e portado para C++17, que não é mais fornecido no Qt 6 e agora está incluído no Qbs.
- Caso de compilação com um conjunto diferente de propriedades, uma lista de propriedades antigas será exibida.
- Um comando foi adicionado ao qbs-config para adicionar todo o perfil de uma vez, permitindo evitar a adição separada de propriedades e acelerando consideravelmente a inicialização na presença de vários Android SDKs.
- Resolvido o problema com o processamento incorreto do tempo de atualização de arquivos na plataforma FreeBSD.
- Melhor suporte para C/C++. Adicionado suporte aos compiladores COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 e STM32) e ao toolkit Digital Mars. Para o compilador MSVC, a propriedade cpp.enableCxxLanguageMacro foi implementada e o suporte ao valor "c++20" foi adicionado em cpp.cxxLanguageVersion.
- Suporte para o uso do dex-compiler d8 em vez de dx na plataforma Android por meio da definição da propriedade Android.sdk.dexCompilerName. O suporte ao Ministro, um programa para garantir o funcionamento das bibliotecas Qt no sistema Android, foi descontinuado. O toolkit para criação de pacotes foi atualizado de aapt para aapt2 (Android Asset Packaging Tool).
Fonte: opennet.ru
