Lanzamiento del sistema de compilación CMake 3.22

Se ha presentado la versión 3.22 del generador de scripts de construcción de código abierto multiplataforma CMake, que actúa como una alternativa a Autotools y se utiliza 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:

  • Las herramientas de configuración de características de compilación (Compile Features) permiten activar y desactivar extensiones del compilador sin especificar el nivel de soporte del estándar, además de excluir la configuración de banderas innecesarias con el nivel del estándar del lenguaje, si las configuraciones seleccionadas se ajustan a los parámetros predeterminados del compilador.
  • Se ha añadido la opción en el comando cmake_host_system_information() para consultar el identificador del sistema operativo, almacenado en el archivo /etc/os-release.
  • Se han añadido las variables de entorno CMAKE_BUILD_TYPE y CMAKE_CONFIGURATION_TYPES, a través de las cuales se puede establecer un valor por defecto para las variables CMake del mismo nombre.
  • Se ha añadido la variable "CMAKE_REQUIRE_FIND_PACKAGE_" que transforma la llamada a la función find_package() para detectar el paquete especificado en obligatorio.
  • Se ha introducido la variable de entorno "CMAKE_INSTALL_MODE" para establecer enlaces simbólicos en lugar de copiar archivos al llamar a "install()".
  • Se ha añadido la bandera "CMAKE__LINK_WHAT_YOU_USE_FLAG" y la variable "CMAKE_LINK_WHAT_YOU_USE_CHECK" para establecer y comprobar las banderas del enlazador.
  • En el módulo FetchContent se asegura la transmisión de las variables establecidas "CMAKE_TLS_VERIFY", "CMAKE_TLS_CAINFO", "CMAKE_NETRC" y "CMAKE_NETRC_FILE" en el script de construcción de proyectos externos (anteriormente estos parámetros eran ignorados).
  • En el macro "cmake_dependent_option()" proporcionado por el módulo "CMakeDependentOption" se ha añadido soporte completo para la sintaxis de expresiones condicionales.
  • Los módulos "FindJasper" y "FindMatlab" ahora proporcionan objetivos importables.
  • En la propiedad "VS_SETTINGS" se ha implementado soporte para todos los tipos de archivos con código fuente.
  • Se ha declarado obsoleto y será eliminado en una de las siguientes versiones el generador "Visual Studio 10 2010".

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