A nova atualização do gerador de script CMake 3.15 foi lançada

cmake

Faz alguns dias Gerador de script de código aberto de plataforma cruzada CMake 3.15 lançado que atua como uma alternativa ao Autotools e é usado em projetos como KDE, LLVM / Clang, MySQL, MariaDB, ReactOS e Blender.

CMake é uma ferramenta de geração ou automação de código multiplataforma. O nome é uma abreviatura de "cross platform make" (make cross platform, além do uso de "make" no nome, CMake é um conjunto separado e de nível superior ao sistema de fabricação comum do Unix, sendo semelhante ao autotools.

Sobre o CMake

CMakeName é notável por fornecer uma linguagem de script simples, ferramentas para estender a funcionalidade entre módulos, número mínimo de dependências (sem vinculação a M4, Perl ou Python), suporte de cache, disponibilidade de ferramentas para compilação cruzada, suporte para geração de arquivos de montagem para uma ampla gama de sistemas de compiladores e compiladores.

Os utilitários ctest e cpack para definir cenários de teste e criação de pacote, com o utilitário cmake-gui para configurar parâmetros de construção interativamente.

CMake é usado para controlar o processo de compilação do software usando arquivos de configuração simples e independentes da plataforma. Cmake gera makefiles e áreas de trabalho nativos que podem ser usados ​​no ambiente de desenvolvimento desejado.

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

Ao contrário do sistema de construção GNU, que é restrito a plataformas Unix, O CMake oferece suporte à geração de arquivos para vários sistemas operacionais, o que facilita a manutenção e elimina a necessidade de vários conjuntos de arquivos para cada plataforma.

O processo de construção é controlado criando um ou mais arquivos CMakeLists.txt em cada diretório (incluindo subdiretórios).

O código CMake é escrito em C ++ e é distribuído sob a licença BSD.

Principais novos recursos do CMake 3.15

Esta nova versão destacado pela chegada do suporte de gerador inicial para a linguagem Swift desenvolvido pela Apple foi adicionado ao gerador de script de montagem do Ninja Toolkit.

Além disso, também vem com suporte para a opção do compilador Clang para Windows que é construído com ABI MSVC, mas usa as opções de linha de comando do estilo GNU.

Os desenvolvedores enfatizam que as variáveis CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY são adicionados para selecionar as bibliotecas de tempo de execução usadas pelos compiladores ABI MSVC (MSVisual Studio).

Para compiladores como MSVCem CMAKE__FLAGSPor padrão, a lista de sinalizadores de controle de aviso, como "/ W3", é interrompida.

Das outras melhorias que são destacadas no anúncio do lançamento desta nova versão, encontramos o seguinte:

  • Adicionada a expressão geradora 'COMPILE_LANG_AND_ID: »Para definir as opções do compilador para arquivos alvo que usam variáveis CMAKE__COMPILER_ID y LANGUAGE para cada arquivo de código
  • Expressões geradoras C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID adicionar suporte para corresponder um valor a uma lista, itens separados por vírgulas
  • A variável foi adicionada CMAKE_FIND_PACKAGE_PREFER_CONFIG, em que a chamada para find_package () irá procurar pelo arquivo de configuração do pacote primeiro, mesmo se o módulo de pesquisa estiver disponível
  • Para bibliotecas de interface, foi adicionado suporte para definir propriedades PUBLIC_HEADER y PRIVATE_HEADER, cujos cabeçalhos podem ser configurados pelo comando de instalação (TARGETS) passando os argumentos PUBLIC_HEADER y PRIVATE_HEADER
  • A variável foi adicionada CMAKE_VS_JUST_MY_CODE_DEBUGGING e a propriedade de destino VS_JUST_MY_CODE_DEBUGGING para habilitar o modo "Just My Code" no depurador do Visual Studio ao compilar usando MSVC cl 19.05 e versões mais recentes.
  • O módulo FindBoost foi retrabalhado, que agora está sendo trabalhado de forma mais completa nos modos de configuração e módulo com a presença de outros módulos de pesquisa
  • Suporte para os tipos NOTICE, VERBOSE, DEBUG e TRACE foi adicionado ao comando message ()
  • O comando "export (PACKAGE)" agora não faz nada até que seja explicitamente habilitado por meio da variável CMAKE_EXPORT_PACKAGE_REGISTRY.

Se você quiser saber mais sobre isso, você pode consultar o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.