Lançamento do sistema de compilação CMake 3.15

Aconteceu lançamento do gerador de scripts de construção open source multiplataforma CMake 3.15, atuando como uma alternativa ao Autotools e utilizado em projetos como KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. O código do CMake é escrito em C++ e é distribuído sob a licença BSD.

O CMake é notável por oferecer uma linguagem de script simples, extensibilidade de funcionalidade através de módulos, um número mínimo de dependências (sem ligação ao M4, Perl ou Python), suporte a cache, ferramentas para compilação cruzada, geração de arquivos de construção para uma ampla gama de sistemas de compilação e compiladores, incluindo utilitários ctest e cpack para definir scripts de teste e pacotes de construção, além do utilitário cmake-gui para configuração interativa de parâmetros de construção.

Principais são:

  • O gerador de scripts de construção baseado na ferramenta Ninja agora possui suporte inicial ao idioma Swift, desenvolvido pela Apple;
  • Suporte adicionado à variante do compilador Clang para Windows, que realiza a construção com ABI MSVC, mas utiliza opções de linha de comando no estilo GNU;
  • Variáveis CMAKE_MSVC_RUNTIME_LIBRARY e MSVC_RUNTIME_LIBRARY adicionadas para selecionar as bibliotecas de tempo de execução usadas pelos compiladores baseados em ABI MSVC (MS Visual Studio);
  • Para compilers como MSVC, a enumeração de flags de controle de avisos, como '/W3', foi removida de CMAKE__FLAGS por padrão;
  • Adicionado a expressão do gerador 'COMPILE_LANG_AND_ID:' para determinar as opções do compilador para arquivos de destino, utilizando as variáveis CMAKE__COMPILER_ID e LANGUAGE para cada arquivo de código;
  • Em expressões do gerador C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID e PLATFORM_ID, foi adicionada a correspondência de um único valor com uma lista cujos elementos são separados por vírgula;
  • A variável CMAKE_FIND_PACKAGE_PREFER_CONFIG foi adicionada, onde a chamada find_package() buscará primeiro o arquivo de configuração do pacote, mesmo que um módulo de pesquisa esteja disponível;
  • Para bibliotecas de interface, foi adicionado suporte para definir propriedades PUBLIC_HEADER e PRIVATE_HEADER, que podem ser definidas através do comando install(TARGETS) ao passar os argumentos PUBLIC_HEADER e PRIVATE_HEADER;
  • A variável CMAKE_VS_JUST_MY_CODE_DEBUGGING e a propriedade alvo VS_JUST_MY_CODE_DEBUGGING foram adicionadas para ativar o modo 'Just My Code' no depurador do Visual Studio ao compilar usando MSVC cl 19.05 ou versões mais novas;
  • O módulo FindBoost foi reformulado, agora executando de forma mais coesa nos modos Config e Module na presença de outros módulos de pesquisa;
  • A função message() agora suporta tipos NOTICE, VERBOSE,
    DEBUG e TRACE;
  • O comando 'export(PACKAGE)' agora não faz nada até que seja explicitamente ativado através da variável CMAKE_EXPORT_PACKAGE_REGISTRY.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster