diff --git a/CMakeLists.txt b/CMakeLists.txt
index 73f429b..e760098 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,17 +38,12 @@ add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value
 message(STATUS "Checking deps...")
 add_subdirectory(hyprland-share-picker)
 
+find_package(sdbus-c++ REQUIRED)
 find_package(Threads REQUIRED)
 find_package(PkgConfig REQUIRED)
 pkg_check_modules(deps REQUIRED IMPORTED_TARGET wayland-client wayland-protocols libpipewire-0.3 libspa-0.2 libdrm gbm hyprlang>=0.2.0)
 
 # check whether we can find sdbus-c++ through pkg-config
-pkg_check_modules(SDBUS IMPORTED_TARGET sdbus-c++)
-if(NOT SDBUS_FOUND)
-    include_directories("subprojects/sdbus-cpp/include/")
-    add_subdirectory(subprojects/sdbus-cpp EXCLUDE_FROM_ALL)
-    add_library(PkgConfig::SDBUS ALIAS sdbus-c++)
-endif()
 
 # same for hyprland-protocols
 pkg_check_modules(HYPRLAND_PROTOS IMPORTED_TARGET hyprland-protocols)
@@ -60,7 +55,7 @@ endif()
 
 file(GLOB_RECURSE SRCFILES CONFIGURE_DEPENDS "src/*.cpp")
 add_executable(xdg-desktop-portal-hyprland ${SRCFILES})
-target_link_libraries(xdg-desktop-portal-hyprland PRIVATE rt PkgConfig::SDBUS Threads::Threads PkgConfig::deps)
+target_link_libraries(xdg-desktop-portal-hyprland PRIVATE rt sdbus-c++ Threads::Threads PkgConfig::deps)
 
 # protocols
 find_program(WaylandScanner NAMES wayland-scanner)
