Se presenta el lanzamiento del generador de scripts de compilación de código abierto multiplataforma CMake 4.1.0. 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 se distribuye bajo la licencia BSD.
CMake se destaca por proporcionar un lenguaje de secuencias de comandos simple, herramientas para ampliar la funcionalidad a través de módulos, soporte de almacenamiento en caché, la presencia de herramientas para compilación cruzada, soporte para generar archivos de compilación para una amplia gama de sistemas de compilación y compiladores, la presencia de ctest y cpack. utilidades para definir scripts de prueba y crear paquetes, y la utilidad cmake -gui para la configuración interactiva de los parámetros de compilación.
Cambios importantes:
- cmake-configure-log garantiza que los eventos de los comandos find_package(), find_path(), find_file(), find_library() y find_program() se impriman la primera vez que se llaman, cuando el resultado cambia el estado de "no encontrado" a "encontrado".
- El comando cmake_pkg_config() se ha actualizado para admitir los subcomandos IMPORT y POPULATE para trabajar con dependencias basadas en pkg-config.
- Se añadió la variable CMAKE_FIND_REQUIRED, que establece el modo REQUIRED en los comandos find_package(), find_path(), find_file(), find_library() y find_program(). Para ignorar el valor de la variable en los comandos, se puede usar la palabra clave OPTIONAL.
- Los módulos FindBLAS y FindLAPACK implementan soporte para NVPL (bibliotecas de rendimiento de NVIDIA).
- Las operaciones de cadena (REGEX MATCHALL), cadena (REGEX REPLACE) y lista (TRANSFORM REPLACE) ahora admiten la marca de inicio ("^") en expresiones regulares.
- La expresión del generador TARGET_PROPERTY ahora cubre las propiedades LINK_LIBRARIES e INTERFACE_LINK_LIBRARIES.
Fuente: opennet.ru
