CMake destaca por proporcionar unha linguaxe de scripts sinxela, un medio para estender a funcionalidade a través de módulos, un número mínimo de dependencias (sen vinculación a M4, Perl ou Python), soporte de caché, presenza de ferramentas para a compilación cruzada, soporte para xerar compilación. ficheiros para unha ampla gama de sistemas de compilación e compiladores, a presenza de utilidades ctest e cpack para definir scripts de proba e construír paquetes, a utilidade cmake-gui para establecer de forma interactiva os parámetros de compilación.
O principal
- A linguaxe CUDA pódese construír usando Clang en plataformas distintas de Windows. A compilación separada de CUDA aínda non é compatible con ningunha plataforma.
- Engadido soporte para crear scripts de CMake mediante as opcións "--profiling-output" e "--profiling-format".
- Os comandos add_library() e add_executable() agora admiten a creación de obxectivos de alias que fan referencia a obxectivos importados non globais.
- Engadiuse o comando cmake_language() para metaoperacións en comandos con script ou integrados.
- Engadiuse o subcomando file(CONFIGURE), cunha funcionalidade similar a configure_file(), pero pasando o contido como unha cadea en lugar de como unha referencia de ficheiro.
- Engadiuse unha opción OBLIGATORIA aos comandos find_program(), find_library(), find_path() e find_file() para deixar de procesar cun erro se non se atopou nada.
- Engadiuse a variable "CMAKE_CUDA_ARCHITECTURES" para indicar a arquitectura CUDA (establecido automaticamente se a variable "CMAKE_CUDA_COMPILER_ID" está configurada en "NVIDIA").
- Engadiuse a propiedade "UNITY_BUILD_MODE" para seleccionar o algoritmo de agrupación dos ficheiros fonte incluídos (BATCH, GROUP) nos xeradores.
- Engadiuse o módulo CheckLinkerFlag para comprobar a corrección das marcas de ligazón.
- Engadidas expresións xeradoras de $ , $ , $ e $ .
- A variable CTEST_RESOURCE_SPEC_FILE engadiuse á utilidade ctest para especificar o ficheiro de especificación do recurso.
Fonte: opennet.ru