New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
question: Meson #53
Comments
Thanks for your kind words, glad to hear InitWare is appealing to you. InitWare's inception was some time ago, forking from a version of systemd which still used the GNU Autotools for a build-system. I would not necessarily be opposed to moving towards a Meson-based system, however, especially now that there is an alternative implementation of Meson written in C under the name Mumeson or Boson or something like that, which should clear up any old portability issues relating to Python quite nicely. One thing I like about modern CMake is that in place of the old approach of dealing with compositions of string |
muon is in good shape, especially compared to the alternatives listed on Meson's FAQ. I regularly use it to build one of my projects.
Yep, it does. It's a bit different though. In Meson, when you want to define a target you can call the syslogctl = executable(
'syslogctl',
'syslogctl.c',
c_args: ['-DMY_DEFINE', '-DSOMETHING'],
install: true,
dependencies: [
internal_library_dep,
dependency('system-or-subproject-dep')
]
) creates a One other notable difference is that Meson targets do not have the concept of private and public flags. All the properties of a target are private, but if you want to create an object that other targets want to "link to", or better, depend on, you have to create a dependency object. In the previous example, internal_library = library('internal', 'internal.c')
internal_library_dep = declare_dependency(
compile_args: '-DPUBLIC_DEFINE',
include_directories: '.',
link_with: 'internal_library'
) This way the Some other things about the first example: |
Hi! First of all, I'm impressed with your work, great job :D
As you know systemd upstream uses Meson. Why did you choose to replace it with CMake instead? Does it have some issues that make it a bad choice for cross-Unix development? Could you please be specific?
I really like Meson, and I think its simplistic approach ensures a nice development experience. But nothing is perfect! If you'd share your concerns I might be able to work on fixing them (I'm not a Meson dev). Thanks :)
And again, your work is quite impressive, hope someone starts integrating it in some cool BSD project!
The text was updated successfully, but these errors were encountered: