https://github.com/andy5995/mesonfe
A PyQt5 GUI frontend for the @mesonbuild system
https://github.com/andy5995/mesonfe
front-end gplv3 mesonbuild pyqt5-gui
Last synced: 19 days ago
JSON representation
A PyQt5 GUI frontend for the @mesonbuild system
- Host: GitHub
- URL: https://github.com/andy5995/mesonfe
- Owner: andy5995
- License: gpl-3.0
- Created: 2026-05-10T18:34:52.000Z (about 1 month ago)
- Default Branch: trunk
- Last Pushed: 2026-05-20T05:29:55.000Z (28 days ago)
- Last Synced: 2026-05-20T08:58:21.320Z (28 days ago)
- Topics: front-end, gplv3, mesonbuild, pyqt5-gui
- Language: Python
- Homepage: https://github.com/andy5995/mesonfe
- Size: 466 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mesonfe
PyQt5 GUI frontend for the [Meson](https://mesonbuild.com/) build system.
Intended for developers already familiar with Meson. Supports viewing and
editing build options, per-project user-configurable presets, running compile
and install steps and executing test suites.
* [Downloads](https://github.com/andy5995/mesonfe/releases/latest)
## Disclaimer
This project is not affiliated with or endorsed by the Meson project or its
developers.
## Dependencies
- Python 3
- PyQt5
- platformdirs
- meson
## Usage
```sh
mesonfe # auto-detect build directory via .mesonferc or open picker
mesonfe /path/to/builddir # explicit build directory
```
If no build directory is found automatically, the window opens and you can use
**File → Open Build Directory…** to select one.
To set up a new build from scratch, use **File → Open Project Directory…**
to select a source directory. This enables the **Setup** tab, where you can
specify a build directory and extra args before running `meson setup`. After
a successful setup, the new build directory is opened automatically.
## Configuration
`mesonfe` looks for `.mesonferc` in the current directory or one level up. On
first run a template is written to the mesonfe configuration directory; the
Setup tab's **Create .mesonferc** copies it into the current source directory.
```ini
default_builddir=_build
[options]
# buildtype=debugoptimized
[config:debug]
builddir=_build-debug
# buildtype=debug
[config:release]
builddir=_build-release
# buildtype=release
# prefix=/usr
```
Named configurations appear in the Setup tab's **Configuration** combo.
Selecting one fills in the build directory and merges base `[options]` with
the config's own options.
## Running without installing
Clone the repository and run the script directly:
```sh
./mesonfe
```
## Build & install
A build step is only needed for a system-wide install:
```sh
meson setup _build
meson install -C _build
```
Installs `mesonfe` to `bindir` (default `/usr/local/bin`), a `mesonfe` Python
package to the Python site-packages directory, and a `.desktop` file and icon
for desktop launcher integration. Requires `pytest` for `ninja test`.