diff --git a/src/Index.cmake b/src/Index.cmake
index 13512ad91ebe408265d083a4ccab8215648e80f9..4397d2c3f825f1e656cdadffc55514f471de2cd0 100644
--- a/src/Index.cmake
+++ b/src/Index.cmake
@@ -23,5 +23,28 @@ include (${CPM_MODULE_LOCATION})
 
 include (${CMAKE_CURRENT_LIST_DIR}/GetCommonLibraries.cmake)
 include (${CMAKE_CURRENT_LIST_DIR}/BuildDoc.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/IhtaAddTest.cmake)
-include(${CMAKE_CURRENT_LIST_DIR}/IhtaAddLibrary.cmake)
+include (${CMAKE_CURRENT_LIST_DIR}/IhtaAddTest.cmake)
+include (${CMAKE_CURRENT_LIST_DIR}/IhtaAddLibrary.cmake)
+
+macro (find_package)
+
+	if (AVAILABLE_SUB_PROJECTS)
+		string (TOLOWER "${ARGV0}" _pkg_low)
+		string (TOLOWER "${AVAILABLE_SUB_PROJECTS}" _sub_low)
+
+		if (${_pkg_low} STREQUAL ${_sub_low})
+			message (WARNING "Package ${ARGV0} available as a sub project; skip find_package")
+		else ()
+			_find_package (${ARGV})
+		endif ()
+	else ()
+		_find_package (${ARGV})
+	endif ()
+
+	# if (NOT "${ARGV0}" IN_LIST AVAILABLE_SUB_PROJECTS)
+	# 	message (FATAL_ERROR "Package ${ARGV0} not found as a Target; using find_package")
+	# 	# _find_package (${ARGV})
+	# else ()
+	# 	message (FATAL_ERROR "Package ${ARGV0} found as a Target; skip find_package")
+	# endif ()
+endmacro ()