[sdl2] declare glib-2.0, gobject-2.0, gio-2.0 and ibus-1.0 as SYSTEM_LIBRARIES#14019
[sdl2] declare glib-2.0, gobject-2.0, gio-2.0 and ibus-1.0 as SYSTEM_LIBRARIES#14019jgilje wants to merge 1 commit intomicrosoft:masterfrom
Conversation
| vcpkg_fixup_pkgconfig( | ||
| IGNORE_FLAGS "-Wl,-rpath,${CURRENT_PACKAGES_DIR}/lib/pkgconfig/../../lib" "-Wl,-rpath,${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/../../lib" "-Wl,--enable-new-dtags" "-Wl,--no-undefined" "-Wl,-undefined,error" "-Wl,-compatibility_version,${DYLIB_COMPATIBILITY_VERSION}" "-Wl,-current_version,${DYLIB_CURRENT_VERSION}" "-Wl,-weak_framework,Metal" "-Wl,-weak_framework,QuartzCore" | ||
| SYSTEM_LIBRARIES dbus-1 | ||
| SYSTEM_LIBRARIES dbus-1 glib-2.0 gobject-2.0 gio-2.0 ibus-1.0 |
There was a problem hiding this comment.
glib is not a system library in vcpkg since there is a port for it. The problem is more or less that glib is using a custom cmakelists.txt which does not install pkgconfig files
There was a problem hiding this comment.
The thing here, is that the glib dependency gets added from ibus. So it's a situation were you may or may not have glib installed in vcpkg, but the dependency gets added by ibus anyway. And the SDL2 configure script doesn't have any knobs to turn off IME if ibus is detected.
There was a problem hiding this comment.
is ibus found via find_package? If yes it can be deactivated.
There was a problem hiding this comment.
Here's the detection from the source: http://hg.libsdl.org/SDL/file/355a4f94a782/CMakeLists.txt#l1188. It gets added by pkg_search_module.
I just noticed the vcpkg CMakeLists file is already patched quite a bit, so I can remove the check if that's a preferred solution.
|
Duplicate of #13963 If you install glib from vcpkg, you only have to set ibus-1.0 as a system dependency. So, the patch should be changed to depend on glib and add ibus as a system dependency. |
|
@jube Yeah, that works. In principle, I don't like having SDL2 depend on glib, it adds no value to the SDL2 target. However, if this is will get this patch accepted by @Neumann-A, I have no problem modifying the patch. As mentioned earlier, I'd rather just remove the IBUS check from the CMakeLists file during the patch phase. |
|
I don't understand why SDL needs glib. I think there is a problem with the configuration of the port. Making this port installable again is a priority, then a correction can be made to avoid glib as a dependency. |
|
@jube It's only when ibus is detected that glib gets added as a dependency. It's quite easy to see for yourself if running Linux and having the ibus dev-package installed. From the CMakeLists.txt file I linked, you can see that ibus flags are added via pkg-config |
|
I'm closing this as an exact duplicate of #13551 |
Describe the pull request
On Linux, if you've got the ibus development headers installed, the sdl2 build will detect it use it for linking via pkg-config. This in turn adds glib-2.0, gobject-2.0, gio-2.0 and ibus-1.0 to the linked libraries. This PR declares them as SYSTEM_LIBRARIES.
NA
Yes