glfw3: add missing X11 substitutions

libX11-xcb.so.1 and libXxf86vm.so.1 are dlopen-ed at runtime, but are
not linked by the linker. Let's hardcode their library paths into the
code.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu 2024-11-21 22:50:30 +01:00
parent fbf94f5a7d
commit 4347d8dee5
No known key found for this signature in database
GPG Key ID: E13DFD4B47127951
2 changed files with 7 additions and 2 deletions

View File

@ -11,6 +11,7 @@
, libX11
, libXi
, libXext
, libXxf86vm
, darwin
, fixDarwinDylibNames
, wayland
@ -59,6 +60,7 @@ stdenv.mkDerivation {
libXcursor
libXi
libXext
libXxf86vm
];
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''

View File

@ -2,17 +2,20 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a0be580e..ba143851 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -219,6 +219,13 @@ if (GLFW_BUILD_X11)
@@ -219,6 +219,16 @@ if (GLFW_BUILD_X11)
if (NOT X11_Xshape_INCLUDE_PATH)
message(FATAL_ERROR "X Shape headers not found; install libxext development package")
endif()
+
+ target_link_libraries(glfw PRIVATE ${X11_Xrandr_LIB}
+ ${X11_Xinerama_LIB}
+ ${X11_X11_xcb_LIB}
+ ${X11_Xrender_LIB}
+ ${X11_Xkb_LIB}
+ ${X11_Xcursor_LIB}
+ ${X11_Xi_LIB}
+ ${X11_Xshape_LIB})
+ ${X11_Xxf86vm_LIB}
+ ${X11_Xext_LIB})
endif()
if (UNIX AND NOT APPLE)