Como Compilar Programas com Meson Build

Uma ferramenta para automatizar a construção (compilação) de software.


Como Compilar Programas com Meson Build

Meson é uma ferramenta para automatizar a construção (compilação) de software. Ele é um front-end para o Ninja. Meson é um software livre e de código aberto escrito em Python , sob a Apache License 2.0 .

O Meson suporta as linguagens C, C++, CUDA, D, Objective-C, Fortran, Java, C# , Rust e Vala, e possui um mecanismo para lidar com dependências chamado Wrap.

O Meson suporta GNU Compiler Collection, Clang, Microsoft Visual Studio e outros.

Como compilar um programa com Meson

Para uma forma simples de entendimento, vamos criar um exemplo para um programa Olá, Mundo! em C++. Supondo que você possui o seguinte arquivo:

#include <iostream>

int main(){
    std::cout << "Hello, World! Meson Build!" << '\n';
    return 0;
}

No mesmo diretório do seu arquivo/projeto código você deve criar um arquivo de nome meson.build: vim meson.build

project('tutorial', 'cpp')
executable('demo', 'main.cpp')

Vamos criar o arquivo: tutorial, a linguagem é cpp(C++), o arquivo binário final terá o nome: demo e o arquivo que vamos compilar é o main.cpp.

Feito isso o próximo passo é rodar o comando:

meson builddir

A saída será similar a essa:

marcos@gentoo ~$ meson builddir
The Meson build system
Version: 0.53.1
Source dir: /home/marcos/teste-meson-ninja
Build dir: /home/marcos/teste-meson-ninja/builddir
Build type: native build
Project name: tutorial
Project version: undefined
C++ compiler for the host machine: c++ (gcc 9.2.0 "c++ (Gentoo 9.2.0-r2 p3) 9.2.0")
C++ linker for the host machine: c++ GNU ld.bfd 2.33.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Build targets in project: 1

Found ninja-1.9.0.git.kitware.dyndep-1.jobserver-1 at /usr/bin/ninja
marcos@gentoo ~$ 

Ele irá criar um diretório com o nome builddir e precisamos entrar nele para efetuar a compilação:

cd builddir
ninja

Após isso é só rodar o arquivo executável gerado:

./demo
Hello, World! Meson Build!

Para mais informações e detalhes veja a documentação oficial.

Simples, né? Abraços!

Compartilhe

Marcos Oliveira

Autor
Marcos Oliveira
Desenvolvedor de Software
youtube.com/TerminalRootTV

Pacote Promocional com Todos os Cursos

Adquira todos os cursos para se tornar um ninja do Terminal e do Linux.

Artigos Relacionados



Comentários