lançamento da ferramenta de construção . Esta é a terceira versão após a saída da Qt Company do desenvolvimento do projeto, preparada pela comunidade interessada em continuar o desenvolvimento do Qbs. Para compilar o Qbs, é necessário o Qt entre as dependências, embora o próprio Qbs seja projetado para organizar a compilação de quaisquer projetos. O Qbs utiliza uma versão simplificada da linguagem QML para definir os scripts de compilação do projeto, permitindo determinar regras de compilação bastante flexíveis, nas quais podem ser conectados módulos externos, utilizadas funções em JavaScript e criadas regras de compilaçã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 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.16:
- Foi assegurada a fusão de propriedades de listas em módulos com dependências mútua, o que é importante, por exemplo, ao lidar com flags como cpp.staticLibraries;
- Adicionada a detecção automática de GCC e IAR para microcontroladores Renesas;
- Suporte adicionado ao Xcode 11.4 no macOS;
- Expandidas as capacidades do módulo de suporte clang-cl;
- Foi assegurada a detecção automática do MSVC, clang-cl e MinGW em perfis onde a localização da ferramenta não está explicitamente definida;
- Simplificada a inclusão e configuração de informações de depuração instaladas separadamente (cpp.separateDebugInformation) através das seções Application e DynamicLibrary nas configurações do projeto;
- Suporte adicionado ao Qt 5.14 para Android e a ferramenta qbs-setup-android foi atualizada;
- Suporte adicionado às configurações Qt.core.generateMetaTypesFile e Qt.core.metaTypesInstallDir para arquivos JSON gerados pela ferramenta moc (Qt >= 5.15);
- Suporte adicionado ao novo mecanismo de declaração de tipos para QML apresentado no Qt 5.15;
- Adicionada a configuração ConanfileProbe para simplificar a integração do Qbs com o gerenciador de pacotes (para C/C++).
Fonte: opennet.ru
