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

Foi lançado o Qbs 1.21, a oitava versão desde que a Qt Company deixou o desenvolvimento do projeto, agora preparado pela comunidade interessada em continuar a evolução do Qbs. Para construir com Qbs, o Qt é uma das dependências, embora o próprio Qbs seja projetado para organizar a construção de qualquer projeto. O Qbs utiliza uma versão simplificada da linguagem QML para definir os scripts de construção do projeto, o que permite estabelecer regras de construção bastante flexíveis, com módulos externos, uso de funções JavaScript e criação de regras de construçã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 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.21:

  • O mecanismo de provedores de módulos (geradores de módulos) foi reformulado. Para frameworks como Qt e Boost, agora é possível usar mais de um provedor, definindo qual deles ativar com a nova propriedade qbsModuleProviders e atribuindo prioridade para escolha de módulos gerados por diferentes provedores. Por exemplo, é possível especificar dois provedores, ‘Qt’ e ‘qbspkgconfig’, sendo que o primeiro tentará usar a instalação personalizada do Qt (através da busca por qmake), e caso essa instalação não seja encontrada, o segundo provedor tentará usar o Qt fornecido pelo sistema (por meio da chamada ao pkg-config): CppApplication { Depends { name: ‘Qt.core’ } files: ‘main.cpp’ qbsModuleProviders: [‘Qt’, ‘qbspkgconfig’] }
  • Adicionado o provedor ‘qbspkgconfig’, que substitui o provedor de módulos ‘fallback’, que tentava gerar um módulo usando pkg-config, caso o módulo procurado não tivesse sido gerado por outros provedores. Diferente do ‘fallback’, o ‘qbspkgconfig’ utiliza uma biblioteca C++ embutida para leitura direta dos arquivos ‘.pc’, acelerando o trabalho e obtendo informações adicionais sobre as dependências de pacotes que não estão disponíveis pela chamada ao utilitário pkg-config.
  • Adicionada a suporte à especificação C++23, que define o futuro padrão do C++.
  • Para o conjunto de ferramentas GCC, foi adicionada a suporte para arquitetura Elbrus E2K.
  • Para a plataforma Android, foi adicionado a propriedade Android.ndk.buildId, que permite substituir o valor padrão para a flag do vinculador ‘—build-id’.
  • Nos módulos capnproto e protobuf, foi implementada a possibilidade de uso do runtime fornecido pelo provedor qbspkgconfig.
  • Resolvemos problemas de rastreamento de alterações em arquivos de código-fonte na plataforma FreeBSD, que surgiram devido ao descarte de milissegundos ao avaliar o tempo de modificação do arquivo.
  • Adicionado o atributo ConanfileProbe.verbose, que facilita a depuração de projetos que utilizam o gerenciador de pacotes Conan.

Além disso, é possível notar o início dos testes alfa do framework Qt 6.3, que inclui um novo módulo 'Qt Language Server' com suporte aos protocolos Language Server e JsonRpc 2.0; o módulo Qt Core recebeu um grande número de novas funções, e no módulo Qt Quick Dialogs foi implementado o tipo QML MessageDialog para uso das janelas de diálogo fornecidas pela plataforma. No módulo Qt Wayland Compositor, foi integrado um compositor. servidor Qt Shell e API para criação de próprias extensões de interface do usuário.

No módulo Qt QML, foi proposta a implementação do compilador qmltc (compilador de tipo QML), que permite compilar estruturas de objetos QML em classes na linguagem C++. Para os usuários comerciais, a versão Qt 6.3 iniciou os testes do produto Qt Quick Compiler, que, além do mencionado QML Type Compiler, inclui o QML Script Compiler, permitindo compilar funções e expressões QML em código C++. Observa-se que a adoção do Qt Quick Compiler permitirá aproximar o desempenho de programas baseados em QML ao de programas nativos; especialmente na compilação de extensões, observa-se uma redução do tempo de inicialização e execução em aproximadamente 30% em comparação com a utilização da versão interpretada.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster