From d2773d7a4ecde7111af4ec71b51b1996ec1d96bf Mon Sep 17 00:00:00 2001
From: Jan Beich <jbeich@FreeBSD.org>
Date: Mon, 27 Jan 2025 22:06:48 +0000
Subject: [PATCH] deps: add libinotify-kqueue on BSDs after 8dd2cd41fb4c
 (#9197)

src/config/ConfigWatcher.cpp:2:10: fatal error: 'sys/inotify.h' file not found
    2 | #include <sys/inotify.h>
      |          ^~~~~~~~~~~~~~~
---
 CMakeLists.txt  | 6 ++++++
 meson.build     | 1 +
 src/meson.build | 1 +
 3 files changed, 8 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3cfb8688b..a34d677ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -197,6 +197,12 @@ if(NOT HAS_TIMERFD AND epoll_FOUND)
   target_link_libraries(Hyprland PkgConfig::epoll)
 endif()
 
+check_include_file("sys/inotify.h" HAS_INOTIFY)
+pkg_check_modules(inotify IMPORTED_TARGET libinotify)
+if(NOT HAS_INOTIFY AND inotify_FOUND)
+  target_link_libraries(Hyprland PkgConfig::inotify)
+endif()
+
 if(LEGACY_RENDERER)
   message(STATUS "Using the legacy GLES2 renderer!")
   add_compile_definitions(LEGACY_RENDERER)
diff --git a/meson.build b/meson.build
index 6b50ff2dd..ae6e39405 100644
--- a/meson.build
+++ b/meson.build
@@ -58,6 +58,7 @@ endif
 
 backtrace_dep = cpp_compiler.find_library('execinfo', required: false)
 epoll_dep = dependency('epoll-shim', required: false) # timerfd on BSDs
+inotify_dep = dependency('libinotify', required: false) # inotify on BSDs
 
 re2 = dependency('re2', required: true)
 
diff --git a/src/meson.build b/src/meson.build
index 7054d8e46..3973dc4cc 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -32,6 +32,7 @@ executable(
     xcb_xfixes_dep,
     backtrace_dep,
     epoll_dep,
+    inotify_dep,
     gio_dep,
     tracy,