Meson é uma ferramenta de software para automatizar a construção de software. É gratuito e de código aberto escrito em Python.
O lançamento da nova versão do sistema de compilação Meson 1.4 foi anunciado recentemente . Esta versão traz suporte aprimorado para certas funções do módulo FS, além de melhorias de compatibilidade, novos recursos e muito mais.
Para quem não conhece o Meson, trata-se de um sistema de compilação usado por projetos importantes como X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME e GTK. Seu principal objetivo é fornecer um processo de compilação rápido e fácil de usar. Ele utiliza o kit de ferramentas Ninja por padrão, mas também é compatível com outros backends como Xcode e Visual Studio.
Este sistema apresenta um gerenciador de dependências multiplataforma integrado que simplifica a criação de pacotes para distribuições. As regras de compilação são definidas em uma linguagem específica e legível, minimizando o tempo necessário para escrevê-las.
Meson oferece suporte à construção de projetos em várias linguagens, como C, C++, Fortran, Java e Rust, e oferece um modo de construção incremental que reconstrói apenas os componentes afetados pelas alterações desde a última construção. Além disso, o Meson pode gerar compilações repetíveis, garantindo que a execução da compilação em ambientes diferentes produza executáveis completamente idênticos.
Principais novidades do Meson 1.4
Esta nova versão do Meson 1.4 destaca o suporte adicional para o módulo FS, 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 mudança notável nesta nova versão é que o Meson agora consegue ler a versão do projeto a partir de subprojetos baseados em CMake. Isso garante que as restrições de versão sejam verificadas corretamente ao acessar um subprojeto CMake.
Além disso, o argumento `preserve_paths` foi adicionado às funções `compile_ui`, `compile_moc` e de pré-processamento dos módulos `qt4`, `qt5` e `qt6` para selecionar a opção de construir a estrutura de diretórios para os arquivos que estão sendo gravados.
Também digno de nota é que o suporte Clang foi adicionado ao stldebug quando o debugstl está habilitado, o método unset() foi introduzido no objeto env e o método full_path() foi adicionado ao objeto File para obter o caminho completo para o arquivo.
O suporte para as ferramentas numpy-config e pkg-config foi adicionado como novas dependências personalizadas. Isso está disponível a partir do NumPy 2.0.0. O suporte para numpy-config funcionará automaticamente após a instalação do NumPy. No entanto, o arquivo pkg-config está localizado dentro dos pacotes do site do Python, o que significa que ele não pode ser usado imediatamente sem configurar a variável de ambiente PKG_CONFIG_PATH.
Outras mudanças notáveis nesta nova versão incluem:
- 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.
Por fim, se tiver interesse em saber mais, você pode encontrar os detalhes no seguinte link.
Como instalar o Meson no Linux?
Para aqueles que estão interessados em poder instalar este sistema de compilação em seu sistema, podem fazê-lo seguindo as instruções que compartilhamos abaixo.
Eles devem saber que o Meson está disponível no PyPi, para que possa ser instalado com o comando:
pip3 install meson
Como observação, você deve saber que o comando exato a ser digitado para instalar o pip pode variar entre os sistemas, portanto, é recomendável usar a versão Python 3 do pip.