Lançamento das ferramentas de construção do Qbs 1.21 e início dos testes do Qt 6.3

O lançamento das ferramentas de construção Qbs 1.21 foi anunciado. Este é o oitavo lançamento desde que a Qt Company deixou o desenvolvimento do projeto, elaborado pela comunidade interessada em dar continuidade ao desenvolvimento do Qbs. Para construir o Qbs, o Qt é necessário entre as dependências, embora o próprio Qbs seja projetado para organizar a montagem de qualquer projeto. Qbs usa uma versão simplificada da linguagem QML para definir scripts de construção de projeto, o que permite definir regras de construção bastante flexíveis que podem conectar módulos externos, usar funções JavaScript e criar regras de construção personalizadas.

A linguagem de script usada no Qbs é adaptada para automatizar a geração e análise de scripts de construção por IDEs. Além disso, o Qbs não gera makefiles e ele mesmo, sem intermediários como o utilitário make, controla o lançamento de compiladores e linkers, otimizando o processo de construção com base em um gráfico detalhado de todas as dependências. A presença de dados iniciais sobre a estrutura e dependências no projeto permite paralelizar efetivamente a execução de operações em vários threads. Para grandes projetos que consistem em um grande número de arquivos e subdiretórios, o desempenho das reconstruções usando Qbs pode superar o make várias vezes - a reconstrução é quase instantânea e não faz o desenvolvedor perder tempo esperando.

Lembre-se que em 2018, a Qt Company decidiu parar de desenvolver Qbs. O Qbs foi desenvolvido como um substituto para o qmake, mas no final foi decidido usar o CMake como o principal sistema de compilação do Qt a longo prazo. O desenvolvimento do Qbs agora continua como um projeto independente apoiado por forças da comunidade e desenvolvedores interessados. A infraestrutura da Qt Company continua a ser usada para desenvolvimento.

Principais inovações no Qbs 1.21:

  • O mecanismo dos provedores de módulos (geradores de módulos) foi redesenhado. Para frameworks como Qt e Boost, agora é possível usar mais de um provedor, especificar qual provedor executar usando a nova propriedade qbsModuleProviders e especificar uma prioridade para seleção de módulos gerados por diferentes provedores. Por exemplo, você pode especificar dois provedores "Qt" e "qbspkgconfig", o primeiro dos quais tentará usar a instalação do Qt do usuário (através de uma pesquisa qmake), e se nenhuma instalação for encontrada, o segundo provedor tentará usar o Qt fornecido pelo sistema (por meio de uma chamada para pkg-config): CppApplication { Depends { name: "Qt.core" } arquivos: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Adicionado o provedor "qbspkgconfig", que substituiu o provedor do módulo "fallback", que tentava gerar um módulo usando pkg-config se o módulo solicitado não fosse gerado por outros provedores. Ao contrário de “fallback”, “qbspkgconfig” em vez de chamar o utilitário pkg-config usa uma biblioteca C++ integrada para ler diretamente arquivos “.pc”, o que acelera o trabalho e fornece informações adicionais sobre dependências de pacotes que não estão disponíveis ao chamar o Utilitário pkg-config.
  • Adicionado suporte para a especificação C++23, que define o futuro padrão C++.
  • Adicionado suporte para a arquitetura Elbrus E2K para o kit de ferramentas GCC.
  • Para a plataforma Android, a propriedade Android.ndk.buildId foi adicionada para substituir o valor padrão do sinalizador do vinculador "--build-id".
  • Os módulos capnproto e protobuf implementam a capacidade de usar tempos de execução fornecidos pelo provedor qbspkgconfig.
  • Resolvidos problemas com o rastreamento de alterações em arquivos de origem no FreeBSD devido à perda de milissegundos ao estimar os tempos de modificação dos arquivos.
  • Adicionada a propriedade ConanfileProbe.verbose para facilitar a depuração de projetos que usam o gerenciador de pacotes Conan.

Adicionalmente, podemos notar o início dos testes alfa do framework Qt 6.3, que implementa um novo módulo “Qt Language Server” com suporte aos protocolos Language Server e JsonRpc 2.0, uma grande parte de novas funções foi adicionada ao Qt Core módulo, e o tipo QML MessageDialog foi implementado no módulo Qt Quick Dialogs Para usar as caixas de diálogo fornecidas pela plataforma, um servidor Qt Shell composto e uma API para criar suas próprias extensões de shell personalizadas foram adicionadas ao módulo Qt Wayland Compositor .

O módulo Qt QML oferece uma implementação do compilador qmltc (compilador de tipo QML), que permite compilar estruturas de objetos QML em classes em C++. Para usuários comerciais do Qt 6.3, foram iniciados os testes do produto Qt Quick Compiler, que, além do QML Type Compiler mencionado acima, inclui o QML Script Compiler, que permite compilar funções e expressões QML em código C++. Nota-se que o uso do Qt Quick Compiler aproximará o desempenho dos programas baseados em QML dos programas nativos; em particular, ao compilar extensões, há uma redução no tempo de inicialização e execução em aproximadamente 30% em comparação ao uso da versão interpretada .

Fonte: opennet.ru

Adicionar um comentário