Versión del sistema de compilación CMake 4.0.0

Se presenta el lanzamiento del generador de scripts de compilación de código abierto multiplataforma CMake 4.0.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:

  • Se ha roto la compatibilidad con versiones de CMake anteriores a 3.5. Al vincular a versiones no compatibles, cmake_minimum_required() y cmake_policy() ahora generarán un error.
  • Se agregó la variable de entorno "CMAKE_POLICY_VERSION_MINIMUM" para anular la versión mínima de CMake cuya funcionalidad se requiere para compilar un proyecto. La variable agregada le permite prescindir de cambiar las llamadas cmake_minimum_required(VERSION) y cmake_policy(VERSION) en el proyecto mismo, por ejemplo, para configurar la política de versión en proyectos que no brindan dicha función.
  • En la expresión del generador "$ " agregó la operación "NATIVE_PATH" para convertir una ruta de archivo de la representación de CMake (que siempre usa "/" para separar directorios) a una ruta del sistema (los sistemas tipo Unix usan "/" y Windows usa "\").
  • En macOS, al usar generadores de scripts de compilación basados ​​en Ninja y generadores de Makefile, si hay un compilador presente en el directorio /usr/bin, ahora se deja como está, sin estar vinculado a un compilador en Xcode. Al compilar para la plataforma macOS, la selección del SDK y el paso del indicador "-isysroot" al compilador se han detenido de manera predeterminada (ahora el SDK lo selecciona el compilador mismo, no CMake).
  • Se agregó la propiedad LINK_WARNING_AS_ERROR, que hará que las advertencias del vinculador se traten como errores. Para deshabilitar el efecto de esta propiedad, se ha agregado la opción de línea de comando "--link-no-warning-as-error".
  • La utilidad cmake tiene una opción "--project-file" para especificar un nombre alternativo para el archivo CMakeLists.txt.
  • El generador CPack ahora tiene la capacidad de crear archivos tar sin comprimir.
  • El comando target_link_libraries() y las variables CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* se han actualizado para admitir el prefijo "LINKER:".
  • Nuevas variables agregadas:
    • ERROR DE COMANDO DE PROCESO DE EJECUCIÓN DE CMAKE ES FATAL,
    • CMAKE_ _MODO_ENLACE,
    • CMAKE_ _MODO_DE_ENLACE_DEL_DISPOSITIVO,
    • ADVERTENCIA DE ENLACE DE CMAKE COMO ERROR,
    • COMPROBACIONES DE TIEMPO DE EJECUCIÓN DE CMAKE_MSVC,
    • DIRECTORIO DE TRABAJO DEL DEPURADOR DE CMAKE,
    • ARCHIVO DE INICIO DE LLDB DEL ESQUEMA DE CMAKE XCODE,
    • CONFIGURACIÓN DE PRUEBAS DEL ESQUEMA CMAKE_XCODE.
  • Se agregaron nuevas propiedades: DEBUGGER_WORKING_DIRECTORY y VS_SOLUTION_ITEMS (para adjuntar archivos a .sln para Visual Studio).
  • Se proporciona la generación de ensamblajes CMake listos para usar para SunOS para arquitecturas sparc64 y x86_64.

Fuente: opennet.ru

Añadir un comentario