| --- |
| 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 |
| ``` |