Mazhoon / moodbar

An upload of moodbar sources (https://userbase.kde.org/Amarok/Manual/Various/Moodbar) and port to gstreamer-1.0
GNU General Public License v2.0
7 stars 3 forks source link

Use meson as build system #1

Closed infirit closed 5 years ago

infirit commented 6 years ago

It builds but is untested.

AFAICS $GST_CVS is not set anywhere so -Werror is never added to the gstreamer cflags. I'll add that a bit later and anything I still find in configure.ac.

infirit commented 6 years ago

It should be good to go now. Let me know if you need anything changed.

Mazhoon commented 6 years ago

Thank you very much! I've no previous experience with meson, but I'll try this out in a couple of days. (and my apologies for the delayed reaction)

infirit commented 6 years ago

No problem. Meson puts all its files in a build directory of which you can have multiple.

So a typical setup may be: meson --buildtype debugoptimized debugoptimized meson --buildtype debug debug meson --buildtype plain build

Then in each of those directory run ninja and it starts the build. Add -v to ninja for it to be verbose.

Setting a higher --warnlevel for the debug build may be good as it revealed a potential problem with signed and unsigned ints, see below.

../plugin/gstmoodbar.c: In function ‘calc_barkband_table’:
../plugin/gstmoodbar.c:293:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
   for (i = 0; i < NUMFREQS (mood); ++i)
                 ^

Beside it being fast I like that meson and ninja are much more understandable than autotools. You can actually figure out what it does by reading build.ninja :open_mouth:.

Mazhoon commented 6 years ago

Yeah, thank you! Indeed, I'm impressed by the speed, and seems to be understandable, too. Works for me; will test around a bit more, update the README and installation instructions and commit everything in a couple of days(tm).

Mazhoon commented 5 years ago

Okay, merged and updated the installation instructions a bit. Again, apologies for my procrastination (this is my only project on github, so it got pushed back too easily). Thank you for your effort!