CMake 3.17.0 inclúe un novo xerador de guións Ninja, melloras e moito máis

O lanzamento de a nova versión do xerador de script de código aberto multiplataforma CMake 3.17, en que os desenvolvedores traballaron para engadir un novo xerador de guións chamado "Ninja Multi-Config", melloras no xerador de scripts de Visual Studio, optimizacións xerais e moito máis.

Para os que non o saiban CMake, deberían sabelo é unha ferramenta de automatización e xeración de códigos multiplataforma que actúa como alternativa a Autotools e úsase en proxectos como KDE, LLVM / Clang, MySQL, MariaDB, ReactOS e Blender.

CMake destaca por proporcionar unha linguaxe de script sinxela, significa expandir a funcionalidade entre módulos, número mínimo de dependencias (sen vinculación a M4, Perl ou Python), soporte para caché, presenza de ferramentas para a compilación cruzada, soporte para xerar ficheiros de compilación para unha ampla gama de sistemas de compilación e compiladores, a presenza de utilidades ctest e cpack para definir scripts de proba e compilación, utilidade cmake-gui para configurar de forma interactiva os parámetros de compilación.

Esta utilidade usado para controlar o proceso de compilación do software empregando ficheiros de configuración sinxelos e independentes da plataforma. Xera ficheiros de marcas nativos e espazos de traballo que se poden empregar no ambiente de desenvolvemento desexado.

É comparable ao sistema de compilación de GNU de Unix no que o proceso está controlado por ficheiros de configuración, no caso de CMake chamado CMakeLists.txt.

Novidades en CMake 3.17.0

Como se mencionou ao comezo, unha das principais novidades que destacan nesta nova versión de CMake 3.17.0 é o engadindo un novo xerador de scripts de compilación baseado en ferramentas Ninja, que leva o nome de «Ninja Multi Config«, Que difiere do xerador anterior porque este novo xerador ofrece a capacidade de procesar varias configuracións de compilación ao mesmo tempo.

Entrementes, no xerador de scripts de compilación Para Visual Studio, agora podes definir ficheiros fonte anexos a cada configuración.

A capacidade de establecer metaparámetros para CUDA ("Cuda_std_03", "cuda_std_14", etc.) engadiuse ás ferramentas para configurar as funcións do compilador (Funcións de compilación).

Ademais diso, o anuncio menciona iso engadíronse variables «CMAKE_CUDA_RUNTIME_LIBRARY»E«CUDA_RUNTIME_LIBRARY»Para seleccionar o tipo de bibliotecas en tempo de execución cando se usa CUDA e tamén o módulo« FindCUDAToolkit »para determinar as ferramentas CUDA dispoñibles no sistema sen incluír o idioma CUDA.

En CMake 3.17.0 o comando «–Debug-find»Engadiuse para amosar diagnósticos lexibles adicionais ao buscar. Para fins similares, a variable CMAKE_FIND_DEBUG_MODE.

Engadido soporte para atopar ferramentas CURL no módulo «FindCURL» usando os ficheiros de configuración "CURLConfig.cmake" xerados por cmake. Para desactivar este comportamento, fornécese a variable CURL_NO_CURL_CMAKE.

O módulo FindPython engade a capacidade de buscar compoñentes Python en contornos virtuais controlados por «comarca«.

Engadido a opción «–Non-probas = [erro | ignorar]»Á utilidade ctest para determinar o comportamento en ausencia de probas e "–repeat" para especificar as condicións para reiniciar as probas (ata que pase, despois do tempo de espera).

Do resto de cambios que se mencionan no anuncio:

  • Construír propiedades de destino INTERFACE_LINK_OPCIÓNS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDE pasáronse entre as dependencias internas das bibliotecas reunidas estáticamente.
  • Cando se usa o kit de ferramentas MinGW, busca ficheiros DLL mediante o comando atopar_biblioteca está desactivado de xeito predeterminado (intentouse importar as bibliotecas ".dll.a" por defecto).
  • A lóxica de escoller a utilidade ninja no xerador Ninja agora non depende do nome do ficheiro executable: utilízase a primeira utilidade construcción ninja, ninja o Samu atopado, que se atopa nos camiños definidos a través da variable de entorno PATH.
  • O comando "-Erm»Engadiuse á utilidade cmake, que se pode usar para eliminar ficheiros e directorios en lugar dos comandos separados«-E eliminar»E«-E eliminar_directorio«.

Finalmente se queres saber máis sobre el, pode consultar o anuncio desta nova versión no seguinte ligazón.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.