E foi lançado Meson 1.4 com melhorias, novas funções, e muito mais. Confira as novidades dessa atualização e veja como instalar no Linux.
Meson é um projeto para criar o melhor sistema de construção possível da próxima geração. O código do Meson é escrito em Python e está licenciado sob a licença Apache 2.0
O principal objetivo de desenvolvimento da Meson é fornecer um processo de compilação de alta velocidade combinado com conveniência e facilidade de uso.
Em vez disso, a compilação usa o Ninja Toolkit por padrão, mas outros back-ends como xcode e VisualStudio podem ser usados.
O sistema possui um driver de dependência de plataforma cruzada integrado que permite usar o Meson para criar pacotes para distribuições.
As regras de compilação são escritas em uma linguagem específica de domínio simplificada, são bem legíveis e compreensíveis para o usuário (de acordo com a ideia dos autores, o desenvolvedor deve gastar um mínimo de tempo escrevendo regras).
A compilação cruzada e a compilação em um grande número de sistemas e outros compiladores são suportadas. Os projetos podem ser construídos em várias linguagens de programação, incluindo C, C++, Fortran, Java e Rust.
Notavelmente, ele oferece suporte a um modo de compilação incremental, no qual apenas os componentes diretamente relacionados às alterações feitas desde a última compilação são reconstruídos.
O Meson pode ser usado para gerar compilações repetíveis, onde a execução da compilação em diferentes ambientes resulta na geração de executáveis completamente idênticos.
Agora, foi anunciado o lançamento da nova versão do sistema de compilação Meson 1.4, que é usado para compilar vários projetos populares, como X.Org, Mesa, systemd, Wayland, GNOME, entre outros.
Novidades do Meson 1.4
Meson 1.4 chegou com melhorias de suporte para certas funções do módulo FS, e também com melhorias de compatibilidade, novas funções e muito mais.
No Meson 1.4 destaca-se o suporte adicionado ao módulo FS, o que agora suporta objetos de destino de compilação build_tgt e custom_tgt, bem como um índice de destino de compilação (custom_idx) nas funções fs.name , fs.parent, fs.replace_suffix e fs.stem.
Outra das mudanças que se destacam nesta nova versão é que agora Meson conta a capacidade de ler a versão do projeto a partir de subprojetos baseados no CMake. Isso permite que as restrições de versão sejam verificadas corretamente ao recorrer a um subprojeto de cmake
Além disso, agora nas funções compile_ui, compile_moc e pré-processamento dos módulos qt4, qt5 e qt6, foi agregado o argumento preserve_paths para selecionar a opção para construir a estrutura de diretórios para os arquivos que você está escrevendo.
Também se destaca que a compatibilidade com Clang foi agregada ao stldebug quando o debugstl está habilitado, o método unset() foi introduzido no objeto env e o método full_path() adicionado ao objeto Arquivo para obter a rota completa do arquivo.
Foi adicionado suporte para a ferramenta numpy-config e o suporte para pkg-config como novas dependências personalizadas. Isso está disponível a partir do NumPy 2.0.0. A compatibilidade com numpy-config funcionará automaticamente assim que o NumPy for instalado.
Por outro lado, o arquivo pkg-config está localizado dentro dos pacotes do site do Python, o que significa que não é possível usá-lo imediatamente sem configurar PKG_CONFIG_PATH.
Das demais mudanças que se destacam no Meson 1.4, temos:
- Capacidade de controlar verificações de asserção (GLIBCXX_ASSERTIONS) em C++ stdlib por meio da configuração ndebug.
- Adicionado argumento de palavra-chave preserve_pathsun às funções do módulo qt
- Agora é possível especificar alvos dependentes com depende: para compiler.preprocess(). Esses destinos devem ser construídos antes do início do pré-processamento.
- O gerador de ligação bindgen agora oferece suporte à heurística Meson para determinar arquivos de cabeçalho C++.
- Adicionada a capacidade de substituir as configurações de idioma para bindgen.
- Os testes agora falham por padrão após encontrar erros ao executar desinfetantes como MemorySanitizer.
- Adicionado suporte para o compilador Texas Instruments C/C++ para a família de CPU C6000.
Para saber mais sobre essa versão do Meson, acesse a nota de lançamento.
Como instalar ou atualizar o Meson
Para aqueles interessados em obter o Meson, você deve saber que ele está disponível no PyPi, para que possa ser instalado com o pip3 install meson
.
Deve-se observar que o comando exato a ser digitado para instalar o pip pode variar entre os sistemas, portanto, certifique-se de usar a versão Python 3 do pip.
Embora, se desejar, você possa instalá-lo localmente com o comando Python padrão:
python3 -m pip install meson