A versão final das ferramentas de construção Qbs foi publicada

Empresa QT publicado ferramentas de montagem Qb 1.13 (Suíte Qt Build). Esta é a última versão do Qbs produzida pela Qt Company. Vamos lembrar o que aconteceu antes tomado decisão de 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.

Num futuro próximo, espera-se que seja criado um projeto independente para continuar o desenvolvimento de Qbs pela comunidade, cujo destino dependerá do interesse no sistema de montagem em questão por parte de desenvolvedores independentes. A Qt Company deixa de trabalhar em Qbs devido à necessidade de investimentos adicionais e aos altos custos de promoção de Qbs.

Lembremos que para construir o Qbs, o Qt é necessário como dependência, embora o próprio Qbs seja projetado para organizar a montagem de quaisquer projetos. 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.
Qbs não gera makefiles e controla de forma independente 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 do projeto permite paralelizar efetivamente a execução de operações em diversos threads.

Principais inovações no Qbs 1.13:

  • Adicionada a capacidade de usar módulos pkg-config em projetos que usam o mesmo mecanismo de processamento de dependência usado para módulos Qbs. Por exemplo, se o seu sistema possui um pacote para construção de OpenSSL baseado em pkg-config, para utilizá-lo em um projeto Qbs, basta adicionar 'Depends { name: "openssl" }';
  • Implementada detecção automática de módulos Qt disponíveis. Os desenvolvedores não precisam mais criar um perfil com caminhos de módulos usando o comando setup-qt; todos os módulos Qt especificados nas dependências serão configurados automaticamente;
  • Adicionadas ferramentas para controlar o número de tarefas de montagem executadas em paralelo no nível de comandos individuais. Por exemplo, a vinculação cria uma grande carga de E/S e consome uma quantidade significativa de RAM, portanto, o vinculador requer configurações de inicialização diferentes das do compilador. Configurações separadas agora podem ser definidas usando o comando “qbs —job-limits linker:2,compiler:8”;
  • Foram feitas alterações na linguagem de script. As regras agora podem ser definidas sem especificar um arquivo stub para saída, e não é necessário usar a diretiva “import qbs” no início dos arquivos do projeto. Novas propriedades install e installDir foram adicionadas aos elementos Application, DynamicLibrary e StaticLibrary para instalação mais conveniente de arquivos executáveis;
  • Adicionado suporte para verificação recursiva de scripts de vinculador
    Vinculador GNU;

  • Para C++, a propriedade cpp.linkerVariant foi implementada para forçar o uso dos vinculadores ld.gold, ld.bfd ou lld;
  • Qt introduz a propriedade Qt.core.enableBigResources para criar grandes recursos Qt
  • Em vez do elemento obsoleto AndroidApk, propõe-se usar o tipo genérico Application;
  • Adicionado módulo para criação de testes baseados em autoteste;
  • Adicionado módulo texttemplate com recursos semelhantes a QMAKE_SUBSTITUTES no qmake;
  • Adicionado suporte inicial para o formato Protocol Buffers para C++ e Objective-C.

Fonte: opennet.ru

Adicionar um comentário