Lanzamiento del sistema de construcción CMake 3.17.0

Presentado lanzamiento del generador de scripts de construcción de código abierto multiplataforma CMake 3.17, 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:

  • Se ha añadido un nuevo generador de scripts de construcción basado en la herramienta Ninja: "Ninja Multi-Config", que se diferencia del antiguo generador por la capacidad de procesar varias configuraciones de construcción a la vez.
  • En el generador de scripts de construcción para Visual Studio se ha añadido la posibilidad de definir archivos de código fuente asociados a cada configuración (fuentes por configuración).
  • En las herramientas para configurar los parámetros del compilador (Características de Compilación) se ha añadido la opción de establecer metaparámetros para CUDA ("cuda_std_03", "cuda_std_14", etc.).
  • Se han añadido las variables "CMAKE_CUDA_RUNTIME_LIBRARY" y "CUDA_RUNTIME_LIBRARY" para seleccionar el tipo de bibliotecas de tiempo de ejecución cuando se utiliza CUDA.
  • Se ha añadido el módulo "FindCUDAToolkit" para detectar el toolkit CUDA disponible en el sistema sin habilitar el lenguaje CUDA.
  • Se ha añadido el comando "—debug-find" a la utilidad cmake para mostrar diagnósticos adicionales legibles durante las operaciones de búsqueda. Para fines similares se ha añadido la variable CMAKE_FIND_DEBUG_MODE.
  • En el módulo "FindCURL" se ha añadido soporte para buscar el toolkit CURL mediante archivos de configuración cmake generados, "CURLConfig.cmake". Para desactivar este comportamiento, se ha previsto la variable CURL_NO_CURL_CMAKE.
  • En el módulo FindPython se ha añadido la capacidad de buscar componentes de Python en entornos virtuales gestionados por "conda".
  • Se han añadido opciones a la utilidad ctest "—no-tests=[error|ignore]" para definir el comportamiento en caso de no haber pruebas y "—repeat" para establecer condiciones de reejecución de pruebas (until-pass, after-timeout).
  • Se ha garantizado la transferencia de las propiedades de objetivo de construcción INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS en las dependencias internas de las bibliotecas estáticamente construidas.
  • Al utilizar la herramienta MinGW, por defecto se desactiva la búsqueda de archivos DLL con el comando find_library (en su lugar, por defecto se intenta importar bibliotecas “.dll.a”).
  • La lógica para seleccionar la utilidad ninja en el generador Ninja ahora no depende del nombre del archivo ejecutable: se utiliza la primera utilidad encontrada, ninja-build, ninja o samu, en los caminos definidos a través de la variable de entorno PATH.
  • Se ha añadido el comando "-E rm" a la utilidad cmake, que se puede utilizar para eliminar archivos y directorios en lugar de los comandos separados "-E remove" y "-E remove_directory".

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