Skip to main content
Jump to: navigation, search

CDT/Meson/User Guide

< CDT
Revision as of 16:57, 5 March 2018 by Jjohnstn.redhat.com (Talk | contribs) (Introduction)

{{#eclipseproject:tools.cdt}}

Introduction

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: "meson.build". 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 meson.build 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 meson.build will create a ninja.build file in the build directory (or specified build directory).

For more details see: http://mesonbuild.com/

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.

MesonNewProjectDialog.png

There are two choices: Empty Project or Meson Project. 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.

Back to the top