diff --git a/cmake/Modules/FindLibbladeRF.cmake b/cmake/Modules/FindLibbladeRF.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..09713441091f829a2e799499c99222f17c2bbf52
--- /dev/null
+++ b/cmake/Modules/FindLibbladeRF.cmake
@@ -0,0 +1,27 @@
+if(NOT LIBBLADERF_FOUND)
+  pkg_check_modules (LIBBLADERF_PKG libbladeRF)
+  find_path(LIBBLADERF_INCLUDE_DIRS NAMES libbladeRF.h
+    PATHS
+    ${LIBBLADERF_PKG_INCLUDE_DIRS}
+    /usr/include
+    /usr/local/include
+  )
+
+  find_library(LIBBLADERF_LIBRARIES NAMES bladeRF
+    PATHS
+    ${LIBBLADERF_PKG_LIBRARY_DIRS}
+    /usr/lib
+    /usr/local/lib
+  )
+
+if(LIBBLADERF_INCLUDE_DIRS AND LIBBLADERF_LIBRARIES)
+  set(LIBBLADERF_FOUND TRUE CACHE INTERNAL "libbladeRF found")
+  message(STATUS "Found libbladeRF: ${LIBBLADERF_INCLUDE_DIRS}, ${LIBBLADERF_LIBRARIES}")
+else(LIBBLADERF_INCLUDE_DIRS AND LIBBLADERF_LIBRARIES)
+  set(LIBBLADERF_FOUND FALSE CACHE INTERNAL "libbladeRF found")
+  message(STATUS "libbladeRF not found.")
+endif(LIBBLADERF_INCLUDE_DIRS AND LIBBLADERF_LIBRARIES)
+
+mark_as_advanced(LIBBLADERF_LIBRARIES LIBBLADERF_INCLUDE_DIRS)
+
+endif(NOT LIBBLADERF_FOUND)