-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
Allow meson builds depending on other ports #6683
Comments
https://github.com/Voskrese/vcpkg/tree/master/ports/pkgconf
*.PC to or use fake-pkg-config example |
The problem is not the missing pkg-config executable (I believe meson does not even need that) but the missing .pc files of the various ports. |
Well, if pkg-config executable meson is not needed ... then I am powerless wait can someone else answer And what do not you like the option with fake-pkg-config ? |
I may very well have to climb down this rabbit hole, having to compile GEGL on Windows (the back-end of GIMP) which depends on numerous pkg-config and mesonized libraries, BABL for instance primarily builds with meson. Many parts of the dependency graph are already inside Vcpkg, a few need to be added. |
Matching topic I opened on the Meson forums: https://groups.google.com/forum/#!topic/mesonbuild/OEB0UIlLl0A |
FWIW, here's the code for the CMakeDependency class in Meson. I'm not adept at reading Python, but will have to make friends with it to make ends meet. My guess is that it generates some dummy CMakeLists.txt file with a find_package() entry and invokes CMake on it and parse the cache or use cmake-server. If a CMAKE_TOOLCHAIN_FILE entry could be fed to it from outside (meson cli invocation?), we would be set. |
is there a promotion on the issue? |
@MathiasMagnus thanks for investigating the issue. Thanks to https://github.com/mesonbuild/meson/blob/7b9c348102792030859ed0001a51416506a0a092/mesonbuild/dependencies/base.py#L1082 it's not difficult to fix it |
@cenit. Thanks for putting in the effort. Are you sure however that the I'll try giving your PR. |
It is working as a minimum to find libraries by vcpkg, which otherwise were completely missed. Without the find_package override it misses the vcpkg-cmake-wrapper for sure, will look into it next to see if it is possible to attach to it. But at least we have a working starting point. Before I agree with you it was totally non working (even plainly wrong outside windows...) |
I already wrote, for meson does not look for p/s/ the more vcpkg changes the default settings \ environment, the more integration problems occur |
Check my pr. Meson there obeys with vcpkg CMAKE_PREFIX_PATH and can find configuration files in our share folder :) |
I don't see much difference between
and
#6977 (comment)
|
The second one does not work, the first one works :) |
Meson does not obey to -DCMAKE_PREFIX_PATH passed from command line, but listen only to that variable if set in the environment |
I can show you that I was having a warning on command line that the definition was unrecognized. While at the same time now I can use ports installed in share folder. Missed that pr and the fact that was considered working by someone. I am very confused now |
meson look in folder
|
although it is possible that something has changed in the MESON code, since then at myself I made a simplink and part of configurations began to be picked up
p/s/ |
I think it was not working before. Looking at the meson code, the variable passed from command line was wrong, it had to be an environment variable. With this in mind, you don’t even need a symbolic link like you did, since |
could you try to collect the last GLIB through MESON ? |
sorry first of all i have to make aravis work and for that i only have my spare time, which is not a lot |
Relevant upstream info and fixes can be found here: Issue: Meson CMake dependency lookup ignores CMAKE_PREFIX_PATH after recent changes |
Just want to add the following meson issues: so meson on windows is just a mess and the discussions in PRs also show not much regard to the windows platform. |
Sad situation for meson on windows. It's a pity, that another build system is gaining traction (unfortunately, but that's life) and it will leave Windows behind... I hope that someone from the vcpkg team can start discussions with upstream meson and maybe work together. It might unlock a lot of libraries! |
Doesn't feel like they are gaining traction except for gnome usage. |
Meson's dependency mechanism searches for either a pkg-config file or a Find???.cmake file. Neither of these mechanisms works to find packages within a vcpkg installation. An option for manually resolving external dependencies does not seem to exist either in meson. The only two ports within vcpkg currently using meson do not require any dependencies so the problem obviously never came up and there is example one could look at to learn how it supposed to be done.
This is a significant hurdle for updating GTK+ and the other GNOME libraries. In principle, meson offers everything needed to build them out of the box, but it is not clear at all how this should be integrated in vcpkg.
The text was updated successfully, but these errors were encountered: