Hai uns días Lanzado o xerador de script de código aberto multiplataforma CMake 3.15 que actúa como alternativa a Autotools e úsase en proxectos como KDE, LLVM / Clang, MySQL, MariaDB, ReactOS e Blender.
CMake é unha ferramenta de automatización e xeración de código multiplataforma. O nome é unha abreviatura de "multiplataforma facer" (facer multiplataforma, máis aló do uso de "facer" no nome, CMake é unha suite separada e un nivel superior ao do sistema make común de Unix, sendo similar ás ferramentas automáticas.
Acerca de CMake
CMake destaca por proporcionar unha linguaxe de script sinxela, ferramentas para estender a funcionalidade a través de módulos, número mínimo de dependencias (sen vinculación a M4, Perl ou Python), soporte de caché, dispoñibilidade de ferramentas para recompilación cruzada, soporte para xerar ficheiros de ensamblaxe para sistemas de compiladores e compiladores de ampla gama.
As utilidades ctest e cpack para definir escenarios de proba e creación de paquetes, coa utilidade cmake-gui para configurar de forma interactiva os parámetros de compilación.
CMake úsase para controlar o proceso de compilación do software empregando ficheiros de configuración sinxelos e independentes da plataforma. Cmake xera ficheiros e espazos de traballo nativos que se poden empregar no ambiente de desenvolvemento desexado.
É comparable ao sistema de compilación Unix GNU porque o proceso está controlado por ficheiros de configuración, no caso de CMake chamado CMakeLists.txt.
A diferenza do sistema de compilación GNU, que está restrinxido ás plataformas Unix, CMake admite a xeración de ficheiros para varios sistemas operativos, o que facilita o mantemento e elimina a necesidade de ter varios conxuntos de ficheiros para cada plataforma.
O proceso de compilación contrólase creando un ou máis ficheiros CMakeLists.txt en cada directorio (incluídos subdirectorios).
O código CMake está escrito en C ++ e distribúese baixo a licenza BSD.
CMake 3.15 Principais novas funcións
Esta nova versión resaltado pola chegada do soporte inicial do xerador para a lingua Swift desenvolvido por Apple engadiuse ao xerador de scripts de ensamblaxe Ninja Toolkit.
Ademais disto, tamén inclúe soporte para a opción do compilador Clang para Windows que está construído con ABI MSVC, pero usa as opcións da liña de comandos ao estilo GNU.
Os desenvolvedores destacan que as variables CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
engádense para seleccionar as bibliotecas de tempo de execución empregadas polos compiladores ABI MSVC
(MS VisualStudio).
Para compiladores como MSVC
en CMAKE__FLAGS
De xeito predeterminado, detense a lista de indicadores de control de advertencia como "/ W3".
Das outras melloras que se destacan no anuncio do lanzamento desta nova versión, atopamos o seguinte:
- Engadiuse a expresión xeradora '
COMPILE_LANG_AND_ID
: »Para definir as opcións do compilador para ficheiros de destino que usan variablesCMAKE__COMPILER_ID
yLANGUAGE
para cada ficheiro de código - As expresións xeradoras
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
engadir soporte para combinar un valor cunha lista, elementos separados por comas - Engadiuse a variable
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, no que a chamada a find_package () buscará primeiro o ficheiro de configuración do paquete, aínda que o módulo de busca estea dispoñible - Para as bibliotecas de interfaces, engadiuse soporte para establecer propiedades
PUBLIC_HEADER y PRIVATE_HEADER
, cuxas cabeceiras poden configurarse mediante o comando install (TARGETS) pasando os argumentosPUBLIC_HEADER
yPRIVATE_HEADER
- Engadiuse a variable
CMAKE_VS_JUST_MY_CODE_DEBUGGING
e a propiedade de destinoVS_JUST_MY_CODE_DEBUGGING
para habilitar o modo "Só o meu código" no depurador de Visual Studio cando se compila usando MSVC cl 19.05 e versións máis recentes. - Volveuse a traballar o módulo FindBoost, que agora se está traballando de xeito máis completo na configuración e modos de módulos coa presenza doutros módulos de busca
- Engadiuse soporte ao tipo NOTICE, VERBOSE, DEBUG e TRACE ao comando message ()
- O comando "exportar (PACKAGE)" agora non fai nada ata que se activa explícitamente a través da variable
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Se queres saber máis sobre el podes consultalo a seguinte ligazón.
Sexa o primeiro en opinar sobre