--- /dev/null
+diff --git a/dlib/CMakeLists.txt b/dlib/CMakeLists.txt\r
+--- a/dlib/CMakeLists.txt\r
++++ b/dlib/CMakeLists.txt\r
+@@ -747,32 +750,15 @@\r
+ \r
+ \r
+ if (DLIB_LINK_WITH_SQLITE3)\r
+- find_library(sqlite sqlite3)\r
+- # make sure sqlite3.h is in the include path\r
+- find_path(sqlite_path sqlite3.h)\r
+- if (sqlite AND sqlite_path)\r
+- set(dlib_needed_includes ${dlib_needed_includes} ${sqlite_path})\r
+- set(dlib_needed_libraries ${dlib_needed_libraries} ${sqlite} )\r
+- else()\r
+- set(DLIB_LINK_WITH_SQLITE3 OFF CACHE STRING ${DLIB_LINK_WITH_SQLITE3_STR} FORCE )\r
+- endif()\r
+- mark_as_advanced(sqlite sqlite_path)\r
++ find_package(unofficial-sqlite3 CONFIG)\r
++ set(dlib_needed_libraries ${dlib_needed_libraries} unofficial::sqlite3::sqlite3)\r
+ endif()\r
+ \r
+ \r
+ \r
+ if (DLIB_USE_FFTW)\r
+- find_library(fftw fftw3)\r
+- # make sure fftw3.h is in the include path\r
+- find_path(fftw_path fftw3.h)\r
+- if (fftw AND fftw_path)\r
+- set(dlib_needed_includes ${dlib_needed_includes} ${fftw_path})\r
+- set(dlib_needed_libraries ${dlib_needed_libraries} ${fftw} )\r
+- else()\r
+- set(DLIB_USE_FFTW OFF CACHE STRING ${DLIB_USE_FFTW_STR} FORCE )\r
+- toggle_preprocessor_switch(DLIB_USE_FFTW)\r
+- endif()\r
+- mark_as_advanced(fftw fftw_path)\r
++ find_package(FFTW3 CONFIG)\r
++ set(dlib_needed_libraries ${dlib_needed_libraries} FFTW3::fftw3)\r
+ endif()\r
+ \r
+ \r
+--- a/dlib/cmake_utils/dlibConfig.cmake.in\r
++++ b/dlib/cmake_utils/dlibConfig.cmake.in\r
+@@ -28,6 +28,14 @@\r
+ include("${dlib_CMAKE_DIR}/dlib.cmake")\r
+ endif()\r
+ \r
++include(CMakeFindDependencyMacro)\r
++if("@DLIB_USE_FFTW@")\r
++ find_dependency(FFTW3 CONFIG)\r
++endif()\r
++if("@DLIB_LINK_WITH_SQLITE3@")\r
++ find_dependency(unofficial-sqlite3 CONFIG)\r
++endif()\r
++\r
+ set(dlib_LIBRARIES dlib::dlib)\r
+ set(dlib_LIBS dlib::dlib)\r
+ set(dlib_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@" "@dlib_needed_includes@")\r