Lanzamento do sistema de compilación CMake 3.18

Presentado lanzamento dun xerador de scripts de compilación aberta multiplataforma CMake 3.18, que actúa como alternativa a Autotools e úsase en proxectos como KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. O código CMake está escrito en C++ e distribúese baixo a licenza BSD.

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 melloras:

  • 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

Engadir un comentario