| --- | |
| short-description: Project templates | |
| ... | |
| # Project templates | |
| To make it easier for new developers to start working, Meson ships a | |
| tool to generate the basic setup of different kinds of projects. This | |
| functionality can be accessed with the `meson init` command. A typical | |
| project setup would go like this: | |
| ```console | |
| $ mkdir project_name | |
| $ cd project_name | |
| $ meson init --language=c --name=myproject --version=0.1 | |
| ``` | |
| This would create the build definitions for a helloworld type | |
| project. The result can be compiled as usual. For example it | |
| could be done like this: | |
| ``` | |
| $ meson setup builddir | |
| $ meson compile -C builddir | |
| ``` | |
| The generator has many different projects and settings. They can all | |
| be listed by invoking the command `meson init --help`. | |
| This feature is available since Meson version 0.45.0. | |
| # Generate a build script for an existing project | |
| With `meson init` you can generate a build script for an existing | |
| project with existing project files by running the command in the | |
| root directory of your project. Meson currently supports this | |
| feature for `executable`, and `jar` projects. | |
| # Build after generation of template | |
| It is possible to have Meson generate a build directory from the | |
| `meson init` command without running `meson setup`. This is done | |
| by passing `-b` or `--build` switch. | |
| ```console | |
| $ mkdir project_name | |
| $ cd project_name | |
| $ meson init --language=c --name=myproject --version=0.1 --build | |
| ``` |