Versión del sistema de compilación CMake 3.18

Presentado por lanzamiento de un generador de scripts de compilación abierto multiplataforma CMake 3.18, 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 CMake está escrito en C++ y distribuido bajo la licencia BSD.

CMake se destaca por proporcionar un lenguaje de secuencias de comandos simple, un medio para extender la funcionalidad a través de módulos, un número mínimo de dependencias (sin vinculación a M4, Perl o Python), soporte de almacenamiento en caché, la presencia de herramientas para compilación cruzada, soporte para generar compilaciones. archivos para una amplia gama de sistemas de compilación y compiladores, la presencia de utilidades ctest y cpack para definir scripts de prueba y crear paquetes, utilidad cmake-gui para configurar interactivamente los parámetros de compilación.

El principal mejoras:

  • El lenguaje CUDA se puede crear utilizando Clang en plataformas distintas a Windows. La compilación separada de CUDA aún no es compatible con ninguna plataforma.
  • Se agregó soporte para crear perfiles de scripts de CMake utilizando las opciones "--profiling-output" y "--profiling-format".
  • Los comandos add_library() y add_executable() ahora admiten la creación de alias de destinos que hacen referencia a destinos importados no globales.
  • Se agregó el comando cmake_language() para metaoperaciones en comandos integrados o con script.
  • Se agregó el subcomando file(CONFIGURE), similar en funcionalidad a configure_file(), pero pasando el contenido como una cadena en lugar de una referencia de archivo.
  • Se agregó una opción REQUERIDA a los comandos find_program(), find_library(), find_path() y find_file() para detener el procesamiento con un error si no se encuentra nada.
  • Se agregó la variable "CMAKE_CUDA_ARCHITECTURES" para indicar la arquitectura CUDA (se configura automáticamente si la variable "CMAKE_CUDA_COMPILER_ID" está configurada en "NVIDIA").
  • Se agregó la propiedad "UNITY_BUILD_MODE" para seleccionar el algoritmo de agrupación para archivos fuente incluidos (BATCH, GROUP) en los generadores.
  • Se agregó el módulo CheckLinkerFlag para verificar la exactitud de las banderas de enlace.
  • Se agregaron expresiones generadoras $, $, $ y $.
  • La variable CTEST_RESOURCE_SPEC_FILE se ha agregado a la utilidad ctest para especificar el archivo de especificación de recursos.

Fuente: opennet.ru

Añadir un comentario