support for meson build system
http://mesonbuild.com/
The Meson build system allows to easily define third party dependencies. This pull request enables meson projects to easily use Simple-Web-Server as a dependency. (Tested on Linux)
Thank you. I'm currently looking into meson, and will have to read up on especially the subproject command. Supporting meson project would be great, but we should maybe not have two build systems (cmake and meson)? What I'm thinking is that we, at least for the moment, use the cmake build system, but at the same time it should be able to use the subproject command in an external project that is using meson.
As a side note, I will soon also add meson support to our C++ ide juCi++, and meson looks good from my initial tests of the build management system.
If you want to support using simple-web-server as a meson subproject I don't see how to get around supporting meson as a whole.
Is ditching cmake an option?
I'd prefer to stick to cmake for now, but we can keep this PR open until a time if or when it would be appropriate to move to meson build system. Are there any strong arguments now to move to meson? I would say that cmake is more common and more well tested at the moment, but that might change in the future.
I've implemented Meson support for our IDE at https://github.com/cppit/jucipp/pull/298, and got some experience with the build system. While I like Meson, it is not entirely ready for server use yet. The main issue I found, was that debian stable still has an older meson version that does not create the necessary files needed for an IDE (compile_commands.json), but this will be fixed next year when debian stable is updated to the current debian testing.
So the problem is that it's adoption state isn't good enough... The main purpose for introducing meson on my behalf, was to ease the integration of Simple-Web-Server with other meson projects. Assuming that anyone who is using messon will use the latest version. Do you think it would be alright to pull in the meson support just to achieve that? Maybe removing the messon build instructions from the README.md file?
Yes, that would work, we can add the meson.build file(s) only.