CMake 3.17.0 chega com um novo gerador de scripts Ninja

CMake 3.17.0 chega com um novo gerador de scripts Ninja
cmake

O lançamento da nova versão do gerador de scripts de código aberto multiplataforma CMake 3.17 acaba de ser apresentado. Os desenvolvedores trabalharam para adicionar um novo gerador de script chamado “Ninja Multi-Config”, aprimoramentos no gerador de scripts Visual Studio, otimizações gerais e muito mais. Porém, o principal destaque do CMake 3.17.0 é que ele vem com um novo gerador de scripts Ninja.

Para aqueles que desconhecem o CMake, eles devem saber que é uma ferramenta de geração ou automação de código de plataforma cruzada que funciona como uma alternativa ao Autotools e é usada em projetos como KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender.

O CMake é conhecido por:

  • fornecer uma linguagem de script simples;
  • meios para expandir a funcionalidade por meio de módulos;
  • um número mínimo de dependências (sem vinculação ao M4, Perl ou Python);
  • suporte para cache;
  • presença de ferramentas para compilação cross;
  • suporte para geração de arquivos de compilação para uma ampla variedade de sistemas e compiladores;
  • presença de utilitários ctest e cpack para definir scripts de teste e compilação;
  • utilitário cmake-gui para configurar interativamente os parâmetros de compilação.

Este utilitário é usado para controlar o processo de compilação de software usando arquivos de configuração simples e independentes da plataforma. Gere makefiles e espaços de trabalho nativos que podem ser usados no ambiente de desenvolvimento desejado.

É comparável ao sistema de compilação Unix GNU, pois o processo é controlado por arquivos de configuração, no caso do CMake chamado CMakeLists.txt.

CMake 3.17.0 chega com um novo gerador de scripts Ninja

Como mencionado no início, uma das principais inovações que se destacam nesta nova versão do CMake 3.17.0 é a adição de um novo gerador de script de compilação baseado nas ferramentas Ninja, que tem o nome de “ Ninja Multi -Config “. Este é diferente do gerador anterior porque fornece a capacidade de processar várias configurações de compilação ao mesmo tempo.

Por sua vez, no gerador de scripts de compilação do Visual Studio, agora você pode definir arquivos de origem anexados a cada configuração.

Além disso, no anúncio, é mencionado que as variáveisCMAKE_CUDA_RUNTIME_LIBRARY” e “CUDA_RUNTIME_LIBRARY” foram adicionadas. Objetivo é selecionar o tipo de bibliotecas de tempo de execução ao usar CUDA e também o módulo “FindCUDAToolkit” para determinar as ferramentas CUDA disponíveis no sistema sem inclua linguagem CUDA.

Comandos

No CMake 3.17.0, o comando ” –debug-find ” foi adicionado para mostrar diagnósticos legíveis adicionais ao executar operações de pesquisa. Para propósitos semelhantes, a variável CMAKE_FIND_DEBUG_MODE foi incluída.

Adicionado suporte para localizar ferramentas CURL no módulo “FindCURL” usando os arquivos de configuração “CURLConfig.cmake” gerados pelo cmake. Para desativar esse comportamento, a variável CURL_NO_CURL_CMAKE é fornecida.

O módulo FindPython adiciona a capacidade de procurar componentes Python em ambientes virtuais controlados por “conda“.

Adicionada opção “ –no-tests = [error | ignore] ”para o utilitário ctest para determinar o comportamento na ausência de testes e “ –repeat” para especificar as condições para reiniciar os testes (até que ele passe, após o tempo limite).

CMake 3.17.0 chega com um novo gerador de scripts Ninja e outras mudanças:

  • As propriedades do destino de compilação INTERFACE_LINK_OPTIONS , INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS foram transferidas entre as dependências internas das bibliotecas montadas estaticamente.
  • Ao usar o kit de ferramentas MinGW, a pesquisa de arquivos DLL usando o comando find_library é desativada por padrão (em vez disso, por padrão, você tenta importar as bibliotecas “.dll.a”).
  • A lógica de escolher o utilitário ninja no gerador Ninja agora não depende do nome do arquivo executável: o primeiro utilitário ninja-buildninja ou samu encontrado é usado, encontrado nos caminhos definidos na variável de ambiente PATH.
  • O comando “–E rm” foi adicionado ao utilitário cmake, que pode ser usado para remover arquivos e diretórios, em vez dos comandos-E remove” e “-E remove_directory“.

Por fim, se você quiser saber mais sobre isso, verifique o anúncio desta nova versão no link a seguir.

Acesse a versão completa
Sair da versão mobile