lançamento da ferramenta de construção . Esta é a quarta edição após a saída da Qt Company do desenvolvimento do projeto, elaborada por uma comunidade interessada em continuar o desenvolvimento do Qbs. Para compilar o Qbs, é necessário ter o Qt entre as dependências, embora o próprio Qbs seja destinado à organização de compilações de quaisquer projetos. O Qbs utiliza uma variante simplificada da linguagem QML para definir os scripts de compilação do projeto, permitindo criar regras de compilação suficientemente flexíveis, onde podem ser integrados módulos externos, usadas funções em JavaScript e criadas regras de compilação personalizadas.
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 parar o desenvolvimento do Qbs. O Qbs foi desenvolvido como uma alternativa ao qmake, mas no final foi decidido usar o CMake como o sistema de construção principal para o Qt a longo prazo. O desenvolvimento do Qbs agora continua na forma de um projeto independente, apoiado pela comunidade e desenvolvedores interessados. A infraestrutura da Qt Company ainda está sendo utilizada para o desenvolvimento.
Principais Qbs 1.17:
- Adicionada suporte inicial .
- Adicionado o módulo capnp para uso do protocolo de serialização de dados em aplicações C++.
- possibilidade de especificar as variáveis product e project no lado direito das definições da propriedade moduleProvider (por exemplo, «moduleProviders.mygenerator.chooseLettersFrom: project.beginning»).
- Adicionada suporte a ferramentas para compilar projetos C/C++ para funcionar em hardware sem sistema operacional (bare-metal, configurando o parâmetro qbs.targetPlatform para o valor ‘none’): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) e
GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa). - Adicionada suporte ao ambiente de desenvolvimento Xcode 12.0 para macOS.
- Limpeza dos módulos 'Qt for Android'.
- Melhorada a suporte à compilação para a plataforma Android. No módulo Android.sdk, foi adicionado a propriedade packageType para criar pacotes ‘aab’ (Android App Bundles) em vez de ‘apk’, além da propriedade aaptName para usar o novo aapt2 (Android Asset Packaging Tool). O suporte à compilação de aplicações Android foi interrompido para as plataformas ARMv5, MIPS e MIPS64.
Fonte: opennet.ru
