Se ha libreado la nueva actualización del generador de scripts CMake 3.15

cmake

Hace algunos días se anuncio el lanzamiento del generador de scripts de código abierto multiplataforma CMake 3.15 que actúa como una alternativa a Autotools y se utiliza en proyectos como KDE, LLVM / Clang, MySQL, MariaDB, ReactOS y Blender.

CMake es una herramienta multiplataforma de generación o automatización de código. El nombre es una abreviatura para “cross platform make” (make multiplataforma, más allá del uso de “make” en el nombre, CMake es una suite separada y de más alto nivel que el sistema make común de Unix, siendo similar a las autotools.

Sobre CMake

CMake es notable por proporcionar un lenguaje de scripting simple, herramientas para extender la funcionalidad a través de módulos, el número mínimo de dependencias (sin vinculación con M4, Perl o Python), soporte de almacenamiento en caché, la disponibilidad de herramientas para compilación cruzada, soporte para generar archivos de ensamblaje para una amplia gama de sistemas de compilación y compiladores.

Las utilidades ctest y cpack para definir escenarios de prueba y la creación de paquetes, con la utilidad cmake-gui para configurar interactivamente los parámetros de construcción.

CMake se utiliza para controlar el proceso de compilación del software usando ficheros de configuración sencillos e independientes de la plataforma. Cmake genera makefiles nativos y espacios de trabajo que pueden usarse en el entorno de desarrollo deseado.

Es comparable al GNU build system de Unix en que el proceso es controlado por ficheros de configuración, en el caso de CMake llamados CMakeLists.txt.

Al contrario que el GNU build system, que está restringido a plataformas Unix, CMake soporta la generación de ficheros para varios sistemas operativos, lo que facilita el mantenimiento y elimina la necesidad de tener varios conjuntos de ficheros para cada plataforma.

El proceso de construcción se controla creando uno o más ficheros CMakeLists.txt en cada directorio (incluyendo subdirectorios).

El código CMake está escrito en C ++ y se distribuye bajo la licencia BSD.

Principales novedades de CMake 3.15

Esta nueva versión se destaca por la llegada del soporte inicial del generador para el lenguaje Swift desarrollado por Apple se ha agregado al generador de scripts de ensamblado del kit de herramientas Ninja.

Además de este, también llega el soporte para la opción del compilador Clang para Windows que se construye con ABI MSVC, pero usa las opciones de línea de comando de estilo GNU.

Los desarrolladores destacan que las variables CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY se agregan para seleccionar las bibliotecas de tiempo de ejecución utilizadas por los compiladores ABI MSVC (MS Visual Studio).

Para compiladores como MSVC, en CMAKE__FLAGS, de forma predeterminada, la lista de indicadores de control de advertencia, como “/ W3”, se detiene.

De las demás mejoras que se destacan en el anuncio de la liberación de esta nueva versión encontramos lo siguiente:

  • Se agregó la expresión generadora “COMPILE_LANG_AND_ID:” para definir las opciones del compilador para los archivos de destino que usan las variables CMAKE__COMPILER_ID y LANGUAGE para cada archivo de código
  • Las expresiones del generador C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID agregan compatibilidad para hacer coincidir un valor con una lista, elementos separados por comas
  • Se agregó la variable CMAKE_FIND_PACKAGE_PREFER_CONFIG, en la que la llamada a find_package () buscará primero el archivo de configuración del paquete, incluso si el módulo de búsqueda está disponible
  • Para las bibliotecas de interfaz, se ha agregado compatibilidad para establecer las propiedades PUBLIC_HEADER y PRIVATE_HEADER, cuyos encabezados se pueden configurar mediante el comando de instalación (TARGETS) pasando los argumentos PUBLIC_HEADER y PRIVATE_HEADER
  • Se agregó la variable CMAKE_VS_JUST_MY_CODE_DEBUGGING y la propiedad de destino VS_JUST_MY_CODE_DEBUGGING para habilitar el modo “Just My Code” en el depurador de Visual Studio cuando se compila usando MSVC cl 19.05 y versiones más nuevas.
  • El módulo FindBoost se ha reelaborado, que ahora se está trabajando más completamente en los modos de configuración y módulo con la presencia de otros módulos de búsqueda
  • Se ha agregado la compatibilidad con los tipos NOTICE, VERBOSE, DEBUG y TRACE al comando message ()
  • El comando “exportar (PAQUETE)” ahora no hace nada hasta que se habilita explícitamente a través de la variable CMAKE_EXPORT_PACKAGE_REGISTRY.

Si quieres conocer mas al respecto puedes consultar el siguiente enlace.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.