Skip to main content
Jump to: navigation, search

CDT/Meson/User Guide

Revision as of 17:11, 5 March 2018 by (Talk | contribs) (Creating a Meson Project)



The Meson feature for Eclipse is an optional feature of the CDT (C/C++ Development Tools) that adds support for maintaining and building C/C++ projects that use the Meson build system. The Meson build system is akin to Autotools in that a project is configured before building. Like Autotools, configuration involves testing the build system and toolsets supported. Once configured, the project is built by a second tool, akin to the Make tool used in Autotools. While Meson supports more than one Make-like tool to build the project, the CDT Meson plug-ins currently only have support for "ninja".

The configuration data for the project is stored in a file called: "". This file contains directives that are interpreted by the meson command. Directives include which languages are used, what executables/targets are created, sources, special configuration options, and any special build-time tests among other things. Many tests are automatic so the configuration file does not require much.

The following is a sample file:

project('hello', 'c')
executable('hello', 'hello.c')

This file tells meson that the project name hello is a C project and that it creates a single executable called hello which is formed from hello.c. Meson will find the C compiler, etc.. needed to build this project on this build machine.

Running meson in the directory containing will create a file in the build directory (or specified build directory).

For more details see:

Supported Environments

The Meson plug-ins work on all the platforms that CDT supports.

Creating a Meson Project

To create a Meson project, use File -> New -> C/C++ Project Either find the Meson projects in the list of all projects or click on Meson in the left-hand column to filter out non-Meson projects.


There are two choices: Empty Project or Meson Project. Since Meson projects configure whether they support C, C++, or both, there is no need to specify a language as is done for the old Managed Build projects. The Empty Project template means that no files will be supplied to the new project while the Meson Project is a sample C hello world program that uses Meson for configuring the build.

To use a Meson project you have checked out in your system, choose the Empty Project template and then change the location of the project to point to where the project exists on your system.


The Meson plug-ins will perform builds in the build directory with a separate directory per configuration. (e.g. {$Project}/build/default). By default, there are two basic configurations, run and debug.


To specify configuration options, go to Project -> Properties -> Meson

The meson command without arguments can only be run for a build directory once. After it has been run once, a user may use the meson configure command to change some parameters of the configuration. Thus, there are two UI pages presented to the user:

    1. specifying options for meson prior to the first configuration
    2. specifying options for meson configure after the project has been configured at least once

Copyright © Eclipse Foundation, Inc. All Rights Reserved.