Lanzamiento de los sistemas de construcción CMake 3.21 y Meson 0.59

Se presenta la versión del generador de scripts de construcción multiplataforma y código abierto CMake 3.21, diseñado como una alternativa a Autotools y utilizado en proyectos como KDE, LLVM/Clang, MySQL, MariaDB, ReactOS y Blender. El código de CMake está escrito en C++ y se distribuye bajo la licencia BSD.

CMake es notable por proporcionar un lenguaje de scripts simple, con medios para extender su funcionalidad a través de módulos, un mínimo número de dependencias (sin requerir M4, Perl o Python), soporte de caché, herramientas para compilación cruzada, generación de archivos de construcción para una amplia gama de sistemas de construcción y compiladores, herramientas ctest y cpack para definir scripts de prueba y empaquetado, y una utilidad cmake-gui para la configuración interactiva de parámetros de construcción.

Principales mejoras:

  • Se ha añadido un soporte completo para el lenguaje de programación HIP (Interfaz de Computación Heterogénea para Portabilidad), un dialecto de C++ que facilita la conversión de aplicaciones CUDA a código C++ portátil.
  • Se ha incluido un generador de scripts de construcción para Visual Studio 17 2022, basado en la versión preliminar de Visual Studio 2022 Preview 1.1.
  • En los generadores de scripts de construcción Makefile y Ninja se han añadido las propiedades C_LINKER_LAUNCHER y CXX_LINKER_LAUNCHER, mediante las cuales se puede gestionar la ejecución de utilidades auxiliares que inician el enlazador, como analizadores estáticos. El generador ejecutará las utilidades especificadas, pasando el nombre del enlazador y sus argumentos.
  • Se ha añadido soporte para las especificaciones C17 y C23 en las propiedades 'C_STANDARD' y 'OBJC_STANDARD', así como en las herramientas de configuración de parámetros del compilador (Características de Compilación).
  • Se ha añadido la opción '—toolchain ' a la utilidad cmake para definir la ruta al conjunto de herramientas.
  • Se ha implementado la resaltación de tipos de mensajes enviados a la terminal.
  • Se ha añadido soporte para el compilador Fujitsu.
  • En el comando 'foreach()', se ha garantizado la aislamiento de las variables del ciclo dentro del mismo.

También se puede destacar el lanzamiento del sistema de ensamblaje Meson 0.59, que se utiliza para compilar proyectos como X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME y GTK. El código de Meson está escrito en Python y se distribuye bajo la licencia Apache 2.0. Soporta la compilación cruzada y el ensamblaje en Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS y Windows utilizando GCC, Clang, Visual Studio y otros compiladores. Es posible compilar proyectos en varios lenguajes de programación, incluyendo C, C++, Fortran, Java y Rust. Por defecto, en lugar de la utilidad make, se utiliza la herramienta Ninja, aunque también se pueden usar otros backends, como xcode y VisualStudio.

El sistema incluye un manejador de dependencias multiplataforma, que permite utilizar Meson para compilar paquetes para distribuciones. Las reglas de compilación se establecen en un lenguaje orientado a objetos simplificado, lo que las hace fácilmente legibles y comprensibles para el usuario (los autores diseñaron el sistema para que el desarrollador dedique el mínimo tiempo posible a escribir las reglas). Se admite el modo de compilación incremental, donde solo se recompilan los componentes directamente relacionados con los cambios realizados desde la última compilación. Meson se puede utilizar para crear compilaciones reproducibles, donde ejecutar la compilación en diferentes entornos genera archivos ejecutables completamente idénticos.

Novedades principales de Meson 0.59:

  • Se añadió soporte para el lenguaje Cython (una versión avanzada de Python destinada a simplificar la integración con el código en C).
  • Se añadieron las palabras clave 'unescaped_variables' y 'unescaped_uninstalled_variables' para definir variables en pkgconfig sin escapar espacios con el carácter '\'.
  • Se añadió soporte para wrc (Wine Resource Compiler).
  • Se implementó la capacidad de generar proyectos para Visual Studio 2012 y Visual Studio 2013.
  • Todos los comandos relacionados con el procesamiento de subproyectos ahora ejecutan cada subproyecto en paralelo de forma predeterminada. El número de procesos que se ejecutan en paralelo se determina mediante el parámetro '--num-processes'.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster