La razón por la que apareció Meson:
C ++ necesita un sistema de gestión de almacenes para gestionar los paquetes dependientes. Similar a Maven en Java. ¿Qué puede hacer Maven? Maven es una herramienta de construcción de proyectos Java + herramienta de gestión de almacenes.
Bajo esta demanda, nacieron Cargo y Meson . Naturalmente, son más útiles que el CMake anterior. No solo admite C / C ++, sino que también admite varios idiomas. Hoy en día, muchos proyectos se han transferido de CMake a Meson, como DPDK y Mapnik.
Tiempo de recolección 2013-11-26
Lenguaje de desarrollo: Python
Unidad de desarrollo: Fundación Apache
Uso de mesón: https://my.oschina.net/u/4349408/blog/3295014
ninja: Una forma sencilla de construir: https://my.oschina.net/u/4292686/blog/4708023
Transferencia de CMake a Meson: https://www.bilibili.com/video/BV1D5411H7F5
¿Meson es multiplataforma? https://www.ctolib.com/meson.html
Meson® es un proyecto para crear el mejor sistema de construcción de próxima generación posible.
Estado:
Dependencias
Instalando desde la fuente
Meson está disponible en PyPi , por lo que se puede instalar con pip3 install meson
. El comando exacto para escribir para instalar pip
puede variar entre sistemas, asegúrese de usar la versión Python 3 de pip
.
Si lo desea, puede instalarlo localmente con el comando estándar de Python:
python3 -m pip install meson
Para las compilaciones que usan Ninja, Ninja se puede descargar directamente desde la página de lanzamiento de Ninja GitHub o mediante PyPi
python3 -m pip install ninja
Puede encontrar más información sobre la instalación de Meson build en la página de obtención de meson .
Corriendo
Meson requiere que tenga un directorio de origen y un directorio de compilación y que estos dos sean diferentes. En su raíz de origen debe existir un archivo llamado meson.build
. Para generar el sistema de compilación, ejecute este comando:
meson setup <source directory> <build directory>
Dependiendo de cómo obtuvo Meson, el comando también podría llamarse en meson.py
lugar de simple meson
. En el resto de este documento usaremos la última forma.
Puede omitir cualquiera de los dos directorios, y Meson sustituirá el directorio actual y detectará automáticamente lo que quiere decir. Esto le permite hacer cosas como esta:
cd <source root>
meson setup builddir
Para compilar, cd en su directorio de compilación y escriba ninja
. Para ejecutar pruebas unitarias, escriba ninja test
.
Puede encontrar más información sobre la ejecución de los comandos del sistema de compilación de Meson en la página de ejecución de meson o escribiendo meson --help
.
Contribuyendo
Nos encantan las contribuciones de código. Consulte la página de contribuciones en el sitio web para obtener más detalles.
IRC
El canal irc para Meson ha #mesonbuild
terminado en Freenode.
Puede utilizar el chat web oficial de FreeNode para conectarse a este canal.
Informacion adicional
Se puede encontrar más información sobre el sistema de construcción Meson en la página de inicio del proyecto .
Meson es una marca registrada de Jussi Pakkanen .
GitHub: https://github.com/mesonbuild/meson
Sitio web oficial: https://mesonbuild.com/
La guía absoluta para principiantes sobre la instalación y el uso de Meson
Esta página está destinada a personas que son nuevas en el uso de Meson y posiblemente incluso en la compilación de código C y / o C ++ en general. Está destinado a contener una forma sencilla de poner en marcha su entorno de compilación. Si tiene más experiencia y tiene su propia forma preferida de instalar y utilizar software de desarrollo, no dude en utilizarla. Esta guía solo trata sobre plataformas Linux, Windows y macOS. Si usa alguna otra plataforma, como una de las BSD, probablemente ya sepa cómo instalar herramientas de desarrollo en ella (probablemente incluso mejor que nosotros).
Hay tres fases para poner en funcionamiento un entorno de desarrollo.
- Instalación de una cadena de herramientas del compilador
- Instalación de Meson
- Creando un proyecto y construyéndolo
1. Instalación de una cadena de herramientas del compilador
Linux
Todas las distribuciones de Linux proporcionan un fácil acceso a las herramientas de desarrollo. Por lo general, necesita abrir una terminal y ejecutar un comando, que depende de su distribución.
- Debian, Ubuntu y derivados:
sudo apt install build-essential
- Fedora, Centos, RHEL y derivados:
sudo dnf install gcc-c++
- Arco:
sudo pacman -S gcc
Ventanas
La cadena de herramientas de desarrollo más común en Windows es Visual Studio, que se puede descargar del sitio web de Visual Studio . Seleccione la versión comunitaria a menos que haya comprado una licencia.
Descarga el instalador y ejecútalo. Cuando se le proporcione una lista de cosas para instalar, seleccione Desarrollo de escritorio con C ++ . Esto instala un compilador C y C ++.
Una vez que el instalador finaliza, la cadena de herramientas del compilador está lista para usarse.
Mac OS
En macOS, la cadena de herramientas de desarrollo debe instalarse a través de la tienda de aplicaciones de Mac. Busque una aplicación llamada XCode e instálela.
Nota: La instalación de XCode no es suficiente por sí sola. También debe iniciar la aplicación GUI de XCode una vez. Esto hará que XCode descargue e instale más archivos necesarios para la compilación.
2. Instalación de Meson
Linux
Instalar Meson es tan simple como instalar la cadena de herramientas del compilador.
- Debian, Ubuntu y derivados:
sudo apt install meson ninja-build
- Fedora, Centos, RHEL y derivados:
sudo dnf install meson ninja-build
- Arco:
sudo pacman -S meson
Ventanas
Meson proporciona un .msi
instalador estándar de Windows que se puede descargar desde la página de Versiones .
Descárguelo y ejecútelo para instalar todos los bits necesarios. Puede verificar que su instalación está funcionando ejecutando el símbolo del sistema de las herramientas de desarrollo de Visual Studio que se puede encontrar en el menú de inicio.
Usted debe ser capaz de ejecutar tanto meson
y ninja
y consultar sus versiones.
Mac OS
Debido a la forma en que Apple ha configurado las cosas, hacer que macOS funcione es un poco más complicado. Lo primero que debe hacer es instalar la versión más reciente de Python 3 desde el sitio web del proyecto .
Una vez que tenga un Python en funcionamiento, puede instalar los bits necesarios utilizando el administrador de paquetes Pip de Python.
pip install --user meson ninja
Esto instalará los archivos necesarios en su directorio de inicio, pero lamentablemente no se pueden usar directamente. Debe agregar el directorio en el que están escritos en la PATH
variable de entorno del sistema para que los programas se puedan usar directamente desde la terminal. Esto requiere editar un archivo de configuración de texto.
El archivo correcto para editar depende del shell que esté utilizando actualmente. Si tiene una instalación antigua de macOS, probablemente sea Bash y el archivo que necesita editar sea .bash_profile
. Si, por otro lado, tiene una nueva instalación de macOS, probablemente esté usando Zsh y el archivo para editar sea .zshrc
. En cualquier caso, el archivo debe estar en su directorio de inicio.
Para Bash, la línea que necesita agregar es la siguiente:
PATH=$PATH:/Users/username/Library/Python/3.9/bin
mientras que para Zsh es esto:
export PATH=$PATH:/Users/username/Library/Python/3.9/bin
En ambos casos, debe cambiar los valores de username
y 3.9
. El primero debe sustituirse por su nombre de usuario de Unix, mientras que el segundo debe contener la versión real de Python que instaló.
Una vez hecho esto, cierre la aplicación del terminal y vuelva a iniciarla. Ahora debería poder ejecutar el meson
comando.
3. Ejecutando Meson
Inicie una aplicación de terminal. En Windows, debe usar el símbolo del sistema de Visual Studio Developer Tools como se discutió anteriormente, porque los compiladores solo están disponibles en ese terminal. También debe cambiar a su directorio de inicio (los terminales Linux y macOS comienzan en el directorio de inicio de forma predeterminada).
cd \users\username
Crea un nuevo directorio para albergar tu proyecto.
mkdir testproject
cd testproject
Utilice Meson para crear y construir un nuevo proyecto de muestra.
meson init --name testproject --build
Esto creará un esqueleto de proyecto para usted y lo compilará. El resultado se coloca en el build
subdirectorio y se puede ejecutar directamente desde allí.
build/testproject
El proyecto ya está listo para su desarrollo. Puede editar el código con cualquier editor y se reconstruye yendo al build
subdirectorio y ejecutando el meson compile
comando. Si su versión de Meson es demasiado antigua, puede compilar el proyecto ejecutando el comando en su ninja
lugar.