server icon indicating copy to clipboard operation
server copied to clipboard

Meson poc

Open gizahNL opened this issue 3 years ago • 3 comments

Proof of concept of building via Meson (linux only atm)

Biggest advantage is native support for precompiled headers, that can be enabled & disabled at will, as well as with debug options.

Also a speed boost (though part of it can be explained due to cmake building with -O3): sh -c 'cmake -GNinja ../src && ninja' 723,42s user 44,86s system 794% cpu 1:36,74 total sh -c 'meson ../src && ninja' 353,33s user 40,67s system 848% cpu 46,412 total

cmake is still intact (tested on Linux)

gizahNL avatar Dec 08 '21 14:12 gizahNL

@gizahNL have you tried enabling target_precompiled_headers with cmake?

dimitry-ishenko avatar Dec 08 '21 15:12 dimitry-ishenko

@gizahNL have you tried enabling target_precompiled_headers with cmake?

I have not :sweat_smile: I always end up in a fight with Cmake when I touch it... Also the systems I target don't support that cmake feature :/

gizahNL avatar Dec 09 '21 09:12 gizahNL

I know nothing about meson but I personally am open to it. Others in the project probably need to give this kind of change approval too though

My main question is can windows use the same meson files like we are doing today with cmake? Avoiding breaking the other platform is annoying enough at times already, so I dont want to make it worse.

If you pick this up again, I am curious how cmake&make compare to cmake&ninja.

Julusian avatar Apr 21 '22 11:04 Julusian

I don't think this is a direction we want to go in for now. There is some work underway to improve the existing cmake configs, which I think resolves the comment about precompiled headers.

I have tried to compare the meson vs cmake with the -O3 disabled for cmake to do a fair comparison, but I am getting many weird compiler errors.

So I don't see a compelling reason to switch to meson right now

Julusian avatar May 27 '23 12:05 Julusian