lanzamiento del generador de scripts de construcción de código abierto multiplataforma , 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 :
- Para el lenguaje CUDA, se ha habilitado la posibilidad de realizar compilaciones utilizando Clang en plataformas distintas a Windows. La compilación separada de CUDA aún no es compatible en ninguna plataforma.
- Se ha añadido soporte para el perfilado de scripts de CMake utilizando las opciones «—profiling-output» y «—profiling-format».
- Se ha añadido soporte para crear objetivos de alias (Alias Targets) en los comandos add_library() y add_executable(), que hacen referencia a objetivos importados no globales.
- Se ha añadido el comando cmake_language() para realizar operaciones meta sobre comandos script o incorporados.
- Se ha añadido el subcomando file(CONFIGURE), que es similar en funcionalidad al comando configure_file(), pero pasa el contenido en forma de cadena en lugar de una referencia a un archivo.
- En los comandos find_program(), find_library(), find_path() y find_file() se ha añadido la opción REQUIRED, que indica que el procesamiento debe detenerse con un error si no se encuentra nada.
- Se ha añadido la variable «CMAKE_CUDA_ARCHITECTURES» para especificar la arquitectura CUDA (se establece automáticamente si la variable «CMAKE_CUDA_COMPILER_ID» tiene el valor «NVIDIA»).
- Se ha añadido la propiedad «UNITY_BUILD_MODE» para seleccionar en los generadores el algoritmo para agrupar los archivos fuente incluidos (BATCH, GROUP).
- Se ha añadido el módulo CheckLinkerFlag para verificar la validez de las banderas de enlazado.
- Se han añadido las expresiones del generador $, $, $ y $.
- Se ha añadido la variable CTEST_RESOURCE_SPEC_FILE a la utilidad ctest para especificar el archivo de especificación de recursos.
Fuente: opennet.ru
