Foi lançado o CMake 3.28, um gerador de scripts de compilação de código aberto e multiplataforma que atua como uma alternativa ao Autotools e é utilizado em projetos como KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. O CMake se destaca por fornecer uma linguagem de script simples, meios de expansão de funcionalidades através de módulos, suporte a caching, ferramentas para cross-compilation, geração de arquivos de compilação para uma ampla gama de sistemas de build e compiladores, utilitários ctest e cpack para definir scripts de teste e empacotamento, e a ferramenta cmake-gui para configurar interativamente os parâmetros de compilação. O código do CMake é escrito em C++ e é distribuído sob a licença BSD.
Principais melhorias:
- Foi adicionada a suporte a módulos, definidos na especificação C++ 20, nos geradores de scripts de compilação para Visual Studio e Ninja. O suporte a módulos está disponível com LLVM/Clang 16, GCC 14-dev ou MSVC 14.34.
- Implementada a capacidade de compilar código HIP para GPU NVIDIA usando o compilador NVCC (NVIDIA CUDA Compiler). A variável CMAKE_HIP_PLATFORM foi adicionada para selecionar a plataforma GPU para HIP ('amd' ou 'nvidia').
- O suporte a diretórios '.xcframework' foi garantido nas plataformas Apple.
- O comando 'exec_program()' foi removido, declarado obsoleto na versão 3.0. Para iniciar processos, deve-se utilizar o comando 'execute_process()'.
- Os arquivos gerados utilizando o modo 'FILE_SET' agora são tratados por padrão como privados, permitindo a formação de grafos de compilação mais eficientes nos geradores Ninja.
- A pesquisa em diretórios de instalação obtidos a partir da variável de ambiente PATH foi desabilitada nas funções find_library(), find_path() e find_file() na plataforma Windows (para unificar o comportamento no Windows com outras plataformas).
Fonte: opennet.ru
