--- short-description: Simple getting started guide ... # The Absolute Beginner's Guide to Installing and Using Meson This page is meant for people who are new to using Meson and possibly even to compiling C and/or C++ code in general. It is meant to contain one simple way of getting your build environment up and running. If you are more experienced and have your own preferred way of installing and using development software, feel free to use that instead. This guide only deals with Linux, Windows and macOS platforms. If you use some other platform, such as one of the BSDs, you probably already know how to install development tools on it (probably better than we do, even). There are three phases to getting a development environment running. 1. Installing a compiler toolchain 2. Installing Meson 3. Creating a project and building it ## Installing a compiler toolchain ### Linux All Linux distributions provide easy access to development tools. Typically you need to open a terminal and execute one command, which depends on your distro. - Debian, Ubuntu and derivatives: `sudo apt install build-essential` - Fedora, Centos, RHEL and derivatives: `sudo dnf install gcc-c++` - Arch: `sudo pacman -S gcc` ### Windows The most common development toolchain on Windows is Visual Studio, which can be downloaded from [the Visual Studio web site](https://visualstudio.microsoft.com/). Select the Community version unless you have bought a license. ![Download page of Visual Studio](images/win_dlvs.png) Download the installer and run it. When you are given a list of things to install, select *Desktop development with C++*. This installs both a C and a C++ compiler. ![Installing the Visual Studio compilers](images/win_installvs.png) Once the installer finishes the compiler toolchain is ready to use. ### macOS On macOS the development toolchain must be installed via the Mac app store. Search for an app called XCode and install it. ![App store page for XCode](images/osx_xcode.png) *Note:* Installing XCode is not sufficient by itself. You also need to start XCode' GUI application once. This will make XCode download and install more files that are needed for compilation. ## Installing Meson ### Linux Installing Meson is just as simple as installing the compiler toolchain. - Debian, Ubuntu and derivatives: `sudo apt install meson ninja-build` - Fedora, Centos, RHEL and derivatives: `sudo dnf install meson ninja-build` - Arch: `sudo pacman -S meson` ### Windows Meson provides a standard Windows `.msi` installer that can be downloaded from [the Releases page](https://github.com/mesonbuild/meson/releases). ![Meson installed download](images/win_downloadmeson.png) Download and run it to install all the necessary bits. You can verify that your installation is working by running the Visual Studio developer tools command prompt that can be found in the start menu. ![Devtool prompt](images/win_vstoolsprompt.png) You should be able to run both `meson` and `ninja` and query their versions. ![A working Windows install](images/win_working.png) ### macOS Start by downloading the installation package from [the Releases page](https://github.com/mesonbuild/meson/releases). ![Downloading the macOS installer](images/meson_mac1.png) Double click the downloaded installer to start. If you are running a new macOS version, it might refuse to run the application with the following error message: ![A macOS signing warning](images/meson_mac2.png) This can be fixed by starting System Preferences, selecting the Security and Privacy entry. At the bottom it shows the blocked app and you can enable it by clicking on the "Open anyway" button. ![Security settings](images/meson_mac3.png) Now the installer should start. If not, double click on the downloaded installer file again. ![Installer running](images/meson_mac4.png) Once the installation is finished you can verify that the system is working via the terminal app. ![A successful install](images/meson_mac5.png) ## Running Meson Start a terminal application. On Windows you have to use the Visual Studio Developer Tools Command Prompt as discussed above, because the compilers are only available in that terminal. You also need to change into your home directory (Linux and macOS terminals start in the home directory by default). cd \users\username Create a new directory to hold your project. mkdir testproject cd testproject Use Meson to create and build a new sample project. meson init --name testproject --build This will create a project skeleton for you and compile it. The result is put in the `build` subdirectory and can be run directly from there. build/testproject ![All finished and ready to go](images/linux_alldone.png) The project is now ready for development. You can edit the code with any editor and it is rebuilt by going in the `build` subdirectory and executing the `meson compile` command. If your version of Meson is too old, you can compile the project by running the command `ninja` instead.