Lanzamiento del sistema de construcción CMake 3.15

Se realizó lanzamiento del generador de scripts de construcción 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. El código de CMake está escrito en C++ y se distribuye bajo la licencia BSD.

CMake es notable por proporcionar un lenguaje de scripts simple, con medios para extender su funcionalidad a través de módulos, un mínimo número de dependencias (sin requerir M4, Perl o Python), soporte de caché, herramientas para compilación cruzada, generación de archivos de construcción para una amplia gama de sistemas de construcción y compiladores, herramientas ctest y cpack para definir scripts de prueba y empaquetado, y una utilidad cmake-gui para la configuración interactiva de parámetros de construcción.

Principales mejoras:

  • Se ha añadido soporte inicial para el generador de scripts de construcción basado en la herramienta Ninja del lenguaje Swift, desarrollado por Apple;
  • Se ha añadido soporte para la variante del compilador Clang para Windows, que realiza la construcción con ABI MSVC, pero utiliza opciones de línea de comandos al estilo de GNU;
  • Se han añadido las variables CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY para seleccionar las bibliotecas de tiempo de ejecución utilizadas por los compiladores basados en ABI MSVC (MS Visual Studio);
  • Para compiladores como MSVC, se ha dejado de enumerar las banderas de control de advertencias, como «/W3», en CMAKE__FLAGS por defecto;
  • Se ha añadido la expresión generadora «COMPILE_LANG_AND_ID:» para determinar las opciones del compilador para archivos de destino, aplicando las variables CMAKE__COMPILER_ID y LANGUAGE para cada archivo de código;
  • Se ha añadido soporte para coincidencia de un solo valor con una lista separada por comas en las expresiones generadoras C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID y PLATFORM_ID;
  • Se ha añadido la variable CMAKE_FIND_PACKAGE_PREFER_CONFIG, que hará que la llamada a find_package() busque primero el archivo de configuración del paquete, incluso si hay un módulo de búsqueda disponible;
  • Para las bibliotecas de interfaz, se ha añadido soporte para establecer propiedades PUBLIC_HEADER y PRIVATE_HEADER, cuyos encabezados pueden ser establecidos utilizando el comando install(TARGETS) pasando argumentos PUBLIC_HEADER y PRIVATE_HEADER;
  • Se ha añadido la variable CMAKE_VS_JUST_MY_CODE_DEBUGGING y la propiedad objetivo VS_JUST_MY_CODE_DEBUGGING para habilitar el modo «Just My Code» en el depurador de Visual Studio al compilar usando MSVC cl 19.05 y versiones más recientes;
  • Se ha reformado el módulo FindBoost, que ahora opera de manera más coherente en los modos Config y Module cuando hay otros módulos de búsqueda disponibles;
  • En el comando message() se ha añadido soporte para los tipos NOTICE, VERBOSE,
    DEBUG y TRACE;
  • El comando «export(PACKAGE)» ahora no realiza ninguna acción hasta que se habilita explícitamente a través de la variable CMAKE_EXPORT_PACKAGE_REGISTRY.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster