doctorfree / MusicPlayerPlus

Featureful ncurses based MPD client inspired by ncmpc with integration for Beets, spectrum visualization,Bandcamp/Soundcloud, asciimatics, cantata, and more
https://musicplayerplus.dev
MIT License
72 stars 1 forks source link

[Build options] meson or cmake? #8

Closed rubyFeedback closed 1 year ago

rubyFeedback commented 2 years ago

Would it be possible to add ideally meson, or cmake?

The build steps were a bit confusing, a "Install" file that is a shell script. In particular meson is really nifty and I think it is not so complicated to set up either.

doctorfree commented 2 years ago

An easier, flexible, extensible, reproducible build system would be a good improvement. Meson is a good suggestion. Currently, MusicPlayerPlus uses Meson and Ninja to build mpc for systems that do not include it in their package repositories. It's pretty slick.

But, it's not a trivial setup. MusicPlayerPlus has a lot of build dependencies. Those dependencies vary from platform to platform. Currently, there are 5 supported platforms, each of which has a different set of packages and versions required to build the MusicPlayerPlus components. Meson and Ninja might help simplify things considerably but there is a lot of work to do to get that setup.

One of the tasks on the MusicPlayerPlus roadmap for version 3 is creating a more modular approach. Some of the components that currently reside in the MusicPlayerPlus repository will be split out into their own projects. This effects the build and packaging. This modularization effort might provide us with a good opportunity to implement a better build system. I will keep Meson in mind.

Feel free to contribute if you have Meson/Ninja expertise! Thanks for the suggestion.

doctorfree commented 1 year ago

Closing due to inactivity. The current build structure suffices. If improvements to the build are desired, reopen or open a new issue.