diff --git a/src/Index.cmake b/src/Index.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..b1585cf5a11b11209d35344e58a76933255727b3
--- /dev/null
+++ b/src/Index.cmake
@@ -0,0 +1,20 @@
+cmake_minimum_required (VERSION 3.20 FATAL_ERROR)
+
+include_guard ()
+
+# Check for CPM
+file (GLOB CPM_MODULE_LOCATION ${CMAKE_BINARY_DIR}/cmake/CPM*.cmake)
+
+if (NOT (EXISTS ${CPM_MODULE_LOCATION}))
+	set (CPM_DOWNLOAD_VERSION 0.37.0)
+	set (CPM_MODULE_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
+
+	if (NOT (EXISTS ${CPM_MODULE_LOCATION}))
+		message (STATUS "Downloading CPM.cmake")
+		file (DOWNLOAD https://github.com/TheLartians/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
+			  ${CPM_MODULE_LOCATION}
+		)
+	endif (NOT (EXISTS ${CPM_MODULE_LOCATION}))
+endif ()
+
+include (${CPM_MODULE_LOCATION})