Publicouse a versión final das ferramentas de compilación Qbs

Empresa Qt publicado ferramentas de montaxe Qbs 1.13 (Qt Build Suite). Esta é a última versión de Qbs producida pola empresa Qt. Lembremos o que pasou antes tomado decisión de deixar de desenvolver Qbs. Qbs foi desenvolvido como un substituto de qmake, pero finalmente decidiuse usar CMake como o sistema de compilación principal para Qt a longo prazo.

Nun futuro próximo, espérase que se cree un proxecto independente para continuar co desenvolvemento de Qbs pola comunidade, cuxo destino dependerá do interese dos desenvolvedores independentes no sistema de montaxe en cuestión. Qt Company deixa de traballar en Qbs debido á necesidade de investimento adicional e os altos custos para promover Qbs.

Lembremos que para construír Qbs requírese Qt como dependencia, aínda que o propio Qbs está deseñado para organizar a montaxe de calquera proxecto. Qbs usa unha versión simplificada da linguaxe QML para definir scripts de construción de proxectos, o que lle permite definir regras de compilación bastante flexibles que poden conectar módulos externos, usar funcións JavaScript e crear regras de compilación personalizadas.
Qbs non xera ficheiros de creación e controla de forma independente o lanzamento de compiladores e enlazadores, optimizando o proceso de compilación baseándose nun gráfico detallado de todas as dependencias. A presenza de datos iniciais sobre a estrutura e as dependencias do proxecto permítelle paralelizar eficazmente a execución de operacións en varios fíos.

Novidades clave en Qbs 1.13:

  • Engadiuse a posibilidade de usar módulos pkg-config en proxectos usando o mesmo mecanismo de procesamento de dependencias que se usa para módulos Qbs. Por exemplo, se o teu sistema ten un paquete para construír OpenSSL baseado en pkg-config, para usalo nun proxecto Qbs, só tes que engadir 'Depende { name: "openssl" }';
  • Implementouse a detección automática dos módulos Qt dispoñibles. Os desenvolvedores xa non precisan crear un perfil con rutas de módulo usando o comando setup-qt; todos os módulos Qt especificados nas dependencias configuraranse automaticamente;
  • Ferramentas engadidas para controlar o número de tarefas de montaxe que se executan en paralelo a nivel de comandos individuais. Por exemplo, a ligazón crea unha gran carga de E/S e consome unha cantidade significativa de RAM, polo que o enlazador require unha configuración de inicio diferente á do compilador. Agora pódense establecer configuracións separadas usando o comando "qbs —job-limits linker:2,compiler:8";
  • Realizáronse cambios na linguaxe de script. Agora pódense definir regras sen especificar un ficheiro stub para a saída e non é necesario usar a directiva "import qbs" ao comezo dos ficheiros do proxecto. Engadíronse novas propiedades de instalación e installDir aos elementos Application, DynamicLibrary e StaticLibrary para unha instalación máis cómoda dos ficheiros executables;
  • Engadido soporte para a exploración recursiva de scripts de ligazón
    enlazador GNU;

  • Para C++, implementouse a propiedade cpp.linkerVariant para forzar o uso dos enlazadores ld.gold, ld.bfd ou lld;
  • Qt introduce a propiedade Qt.core.enableBigResources para crear grandes recursos Qt
  • En lugar do elemento AndroidApk obsoleto, proponse utilizar o tipo de aplicación xenérico;
  • Engadiuse un módulo para crear probas baseadas en autotest;
  • Engadiuse un módulo de plantilla de texto con capacidades similares a QMAKE_SUBSTITUTES en qmake;
  • Engadido soporte inicial para o formato Protocol Buffers para C++ e Objective-C.

Fonte: opennet.ru

Engadir un comentario