ultravideo / kvazaar

An open-source HEVC encoder
BSD 3-Clause "New" or "Revised" License
826 stars 178 forks source link

feature: use (or add ?) meson as build system #316

Open vtorri opened 2 years ago

vtorri commented 2 years ago

compared to autotools, meson build system is faster, as a simpler and better syntax (close to the python one).

fador commented 2 years ago

Changing the build system of an already used project is always a bit hard decision since all the users will also have to adapt, and we don't want to add another build system for long term support (Now there's the autotools and visual studio project files).

There has been also discussions about using CMake, since it's also used by other video encoder projects so the support in places where Kvazaar is used should be there. I don't actually have any idea how widely meson is used..?

Anyway, good to hear opinions about this! =)

vtorri commented 2 years ago

look at the right column there : https://archlinux.org/packages/extra/any/meson/

for example, all the freedesktop projects, gtk, gnome and gstreamer are using it

compared, to cmake, same speed, but meson has a nicer syntax.

eli-schwartz commented 2 years ago

Either meson or cmake should let you drop the visual studio project files in addition to considering to phase out autotools.

For the record, VLC has ported some components to meson and has WIP stuff or wishlist tickets to port quite a bit of the rest. My outsider perspective is I think they want to migrate everything to meson. mpv recently added meson support with the intention of phasing out waf support. gstreamer as mentioned above moved to meson.

vtorri commented 7 months ago

with the meson .pc file generator, no problem with all the issues there is in issues these days

@fador @Jovasa I would be glad to work on a meson port if you are interested

Jovasa commented 7 months ago

Thanks, but considering that the point of adopting CMake was to eventually reduce the amount of maintained build systems to a single one, I don't want to add meson support. CMake was chosen, because 1), while we are not experts with it, at least we have some experience with it, and 2) Visual Studio has native support for CMake.

vtorri commented 7 months ago

meson can also create Visual Studio solutions (i use this feature), but feel free to close the issue if you want to