Lanzamiento de la herramienta de ensamblaje Qbs 1.16

Presentado por liberación de herramientas de montaje Qb 1.16. Este es el tercer lanzamiento desde que la Compañía Qt abandonó el desarrollo del proyecto, elaborado por la comunidad interesada en continuar con el desarrollo de Qbs. Para construir Qbs, se requiere Qt entre las dependencias, aunque Qbs en sí está diseñado para organizar el ensamblaje de cualquier proyecto. Qbs utiliza una versión simplificada del lenguaje QML para definir scripts de compilación de proyectos, lo que le permite definir reglas de compilación bastante flexibles que pueden conectar módulos externos, usar funciones de JavaScript y crear reglas de compilación personalizadas.

El lenguaje de secuencias de comandos utilizado en Qbs está adaptado para automatizar la generación y el análisis de secuencias de comandos de compilación mediante entornos de desarrollo integrados. Además, Qbs no genera archivos MAKE, pero él mismo, sin intermediarios como la utilidad make, controla el lanzamiento de compiladores y enlazadores, optimizando el proceso de construcción en función de un gráfico detallado de todas las dependencias. La presencia de datos iniciales sobre la estructura y las dependencias en el proyecto le permite paralelizar efectivamente la ejecución de operaciones en varios subprocesos. Para proyectos grandes que constan de una gran cantidad de archivos y subdirectorios, el rendimiento de la reconstrucción con Qbs puede ser varias veces más rápido que el de make: la reconstrucción se realiza casi instantáneamente y no obliga al desarrollador a perder tiempo esperando.

Recordemos que en 2018 la Compañía Qt fue tomado decisión de dejar de desarrollar Qbs. Qbs se desarrolló como reemplazo de qmake, pero finalmente se decidió utilizar CMake como sistema de compilación principal para Qt a largo plazo. El desarrollo de Qbs ha continuado ahora como un proyecto independiente apoyado por la comunidad y los desarrolladores interesados. La infraestructura de Qt Company continúa utilizándose para el desarrollo.

El principal innovaciones Pregunta 1.16:

  • Se ha garantizado la combinación de propiedades de lista en módulos conectados por dependencias mutuas, lo cual es importante, por ejemplo, al procesar indicadores como cpp.staticLibraries;
  • Se agregó detección automática de GCC e IAR para microcontroladores Renesas;
  • Se agregó soporte para Xcode 11.4 en macOS;
  • Se han ampliado las capacidades del módulo de soporte clang-cl;
  • Se proporcionó detección automática de MSVC, clang-cl y MinGW en perfiles donde la ubicación del kit de herramientas no está definida explícitamente;
  • Se ha simplificado para habilitar y configurar la información de depuración instalada por separado (cpp.separateDebugInformation) a través de las secciones Aplicación y Biblioteca dinámica en los parámetros del proyecto;
  • Se agregó soporte para Qt 5.14 para Android y se actualizó la utilidad qbs-setup-android;
  • Se agregó soporte para archivos JSON generados por la utilidad moc (Qt >= 5.15) a las configuraciones Qt.core.generateMetaTypesFile y Qt.core.metaTypesInstallDir;
  • Se agregó soporte para el nuevo mecanismo de declaración de tipos para QML introducido en Qt 5.15;
  • Se agregó la configuración de ConanfileProbe para simplificar la integración de Qbs con el administrador de paquetes. Conan (para C/C++).

Fuente: opennet.ru

Añadir un comentario