https://github.com/stephanlachnit/mmeson
ccmake for Meson projects
https://github.com/stephanlachnit/mmeson
ccmake meson python python3 tui urwid
Last synced: over 1 year ago
JSON representation
ccmake for Meson projects
- Host: GitHub
- URL: https://github.com/stephanlachnit/mmeson
- Owner: stephanlachnit
- License: eupl-1.2
- Created: 2022-12-27T13:21:24.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-06T15:40:08.000Z (over 3 years ago)
- Last Synced: 2024-04-29T12:20:21.377Z (about 2 years ago)
- Topics: ccmake, meson, python, python3, tui, urwid
- Language: Python
- Homepage: https://stephanlachnit.github.io/mmeson/
- Size: 438 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# mmeson
[](https://api.reuse.software/info/github.com/stephanlachnit/mmeson)
[](https://github.com/stephanlachnit/mmeson/actions/workflows/build_test.yml)
TUI to configure Meson projects similar to `ccmake` for CMake projects

## Installation
### Via pip
```sh
pip install mmeson
```
## Running
```sh
python3 -m mmeson path/to/builddir
```
It is not need to run it in the project's source folder, however you need to setup the project beforehand.
Changed items will start with a star, press `enter` to edit a filed and enter to exit editing (except fields of type
boolean or combo). Press `c` to configure and exit and `q` to exit without configuring.
Note: you can always set options via `meson configure path/to/builddir -Doption=value` in addition to `mmeson`. This
does not reconfigure the project though, this needs to be done via `meson setup --reconfigure path/to/builddir`. When
exiting `mmeson` with `c`, it combines both of these steps, while exiting with `g` does not reconfigure the project.
Note that this will happen automatically though when you run `meson compile`.
## Dependencies
- Python3 >=3.9
- [`urwid`](https://github.com/urwid/urwid)
## Contributing
Contributions are welcome, the code is well documented, especially the TUI part. You can find documentation of the
internal function and classes [here](https://stephanlachnit.github.io/mmeson/api/mmeson.html).
## ToDo-List
- Custom Widget for array editing (instead of writing string only edit array entries)
- Search function for build option
- Path completion via `TAB` when editing strings / arrays
- Unit tests and coverage report
- More elaborate error handling (e.g. array with choices)
- Fix workaround for colored output
## License
- Code: [EUPL-1.2](https://spdx.org/licenses/EUPL-1.2)
- Documentation: [CC-BY-SA-4.0](https://spdx.org/licenses/CC-BY-SA-4.0)
## Notable mentions
- [`cmeson`](https://github.com/proskur1n/cmeson)