From facb84dd2ae19c4fa347b0ac2502af21ba7a2fb4 Mon Sep 17 00:00:00 2001 From: Undefine Date: Sun, 28 Sep 2025 14:42:54 +0200 Subject: [PATCH] Make dependency include directories public This fixes an issue in a rare case where both dependencies and glfw are installed in different non-standard locations. This causes include errors when using glfw with CMake. --- src/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2cbe8a733..8c85ec21e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -161,12 +161,12 @@ if (GLFW_BUILD_WAYLAND) wayland-egl>=0.2.7 xkbcommon>=0.5.0) - target_include_directories(glfw PRIVATE ${Wayland_INCLUDE_DIRS}) + target_include_directories(glfw PUBLIC ${Wayland_INCLUDE_DIRS}) if (NOT CMAKE_SYSTEM_NAME STREQUAL "Linux") find_package(EpollShim) if (EPOLLSHIM_FOUND) - target_include_directories(glfw PRIVATE ${EPOLLSHIM_INCLUDE_DIRS}) + target_include_directories(glfw PUBLIC ${EPOLLSHIM_INCLUDE_DIRS}) target_link_libraries(glfw PRIVATE ${EPOLLSHIM_LIBRARIES}) endif() endif() @@ -174,43 +174,43 @@ endif() if (GLFW_BUILD_X11) find_package(X11 REQUIRED) - target_include_directories(glfw PRIVATE "${X11_X11_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_X11_INCLUDE_PATH}") # Check for XRandR (modern resolution switching and gamma control) if (NOT X11_Xrandr_INCLUDE_PATH) message(FATAL_ERROR "RandR headers not found; install libxrandr development package") endif() - target_include_directories(glfw PRIVATE "${X11_Xrandr_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_Xrandr_INCLUDE_PATH}") # Check for Xinerama (legacy multi-monitor support) if (NOT X11_Xinerama_INCLUDE_PATH) message(FATAL_ERROR "Xinerama headers not found; install libxinerama development package") endif() - target_include_directories(glfw PRIVATE "${X11_Xinerama_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_Xinerama_INCLUDE_PATH}") # Check for Xkb (X keyboard extension) if (NOT X11_Xkb_INCLUDE_PATH) message(FATAL_ERROR "XKB headers not found; install X11 development package") endif() - target_include_directories(glfw PRIVATE "${X11_Xkb_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_Xkb_INCLUDE_PATH}") # Check for Xcursor (cursor creation from RGBA images) if (NOT X11_Xcursor_INCLUDE_PATH) message(FATAL_ERROR "Xcursor headers not found; install libxcursor development package") endif() - target_include_directories(glfw PRIVATE "${X11_Xcursor_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_Xcursor_INCLUDE_PATH}") # Check for XInput (modern HID input) if (NOT X11_Xi_INCLUDE_PATH) message(FATAL_ERROR "XInput headers not found; install libxi development package") endif() - target_include_directories(glfw PRIVATE "${X11_Xi_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_Xi_INCLUDE_PATH}") # Check for X Shape (custom window input shape) if (NOT X11_Xshape_INCLUDE_PATH) message(FATAL_ERROR "X Shape headers not found; install libxext development package") endif() - target_include_directories(glfw PRIVATE "${X11_Xshape_INCLUDE_PATH}") + target_include_directories(glfw PUBLIC "${X11_Xshape_INCLUDE_PATH}") endif() if (UNIX AND NOT APPLE)