Skip to content
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

Add project to meson WrapDB #90

Open
antoniovazquezblanco opened this issue Jan 29, 2024 · 6 comments
Open

Add project to meson WrapDB #90

antoniovazquezblanco opened this issue Jan 29, 2024 · 6 comments

Comments

@antoniovazquezblanco
Copy link

Meson build system provides a list of projects that are available to be downloaded and used as dependencies if not found in the compiling system.

It would be nice to have argtable available there!

https://mesonbuild.com/Wrapdb-projects.html

@tomghuang
Copy link
Contributor

@antoniovazquezblanco : thanks for the suggestion. Are you familiar with how to package a library for Meson?

@antoniovazquezblanco
Copy link
Author

Well, I have just recently started using Meson. I believe one must be able to compile the project with meson.
That can be achieved via two options:

  1. In tree meson support
  2. A patch that is applied via the wrap mechanism

I don't know if you would like to have meson build system support in tree. I may be able to provide an initial version that may be improved on the future...

@antoniovazquezblanco
Copy link
Author

As it turns out, meson now supports building cmake projects.

Initial approach to adding argtable to meson at mesonbuild/wrapdb#1381

@tomghuang
Copy link
Contributor

@antoniovazquezblanco : Really appreciate that you help to provide PR for meson support.

I'm curious. When you use argtable3, would you consider the amalgamation format first? When I use argtable3 in my own projects, I always add argtable3.c and argtable3.h to the source tree, so I don't need to worry about building argtable3 separately. May I know why you want to build argtable3 separately? Is it because you want to make it as a shared library? Thanks.

@antoniovazquezblanco
Copy link
Author

Well, I could consider amalgamation and copy the files but I believe that would be a patch to a not very useful dependency system.

I can just add a couple lines in my build file and manage the dependency externally without effort. That should help me manage and track software versions. Whenever there is an update or an external change I do not need to copy files again, the build system can take care of that for me...

The idea would be to also be able to identify my external dependencies so that I can keep track of them and even track possible vulnerabilities in them.

Plus, if correctly defined, as you said if my OS provides a shared lib, I can compile my program without having it statically linked...

In the end, an amalgamation version is really nice when a good dependency manager is not available.

@tomghuang
Copy link
Contributor

@antoniovazquezblanco : Thanks for your comment. Now I know why many developers asked me to support vcpkg, which I've supported since a few years ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants