diff --git a/CMakeLists.txt b/CMakeLists.txt
index f4df7239a61d0fda4ff48c6f79c61127345ed6d7..0f74af0a5a374f68ad24a51ebb8462c2b8d074dc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,6 +39,10 @@ option(LoadStaticSharedTargets_INCLUDE_PACKAGING "Include packaging rules for Lo
 
 add_subdirectory(src)
 
+if (NOT IS_TOP_LEVEL)
+    set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE)
+endif ()
+
 if (IS_TOP_LEVEL AND BUILD_TESTING)
     add_subdirectory(tests)
 endif ()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4cd9d9ff190ee37781eec95de2ba4c01e179acd4..814c6d36ddd33c76489477f6ce2f8d0d20a721b1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -26,3 +26,5 @@ SOFTWARE.
 add_custom_target(LoadStaticSharedTargets ALL)
 
 add_subdirectory(cmake)
+
+set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE)
diff --git a/src/cmake/CMakeLists.txt b/src/cmake/CMakeLists.txt
index 705ece0f82fd71b19c56eb3e72666d330be41505..7d840d5af1a116bcd5fb787cbf69efe243dcd953 100644
--- a/src/cmake/CMakeLists.txt
+++ b/src/cmake/CMakeLists.txt
@@ -25,4 +25,5 @@ SOFTWARE.
 
 target_sources(LoadStaticSharedTargets PRIVATE LoadStaticSharedTargets.cmake)
 
-include(LoadStaticSharedTargets.cmake)
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
+set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE)