summaryrefslogtreecommitdiffstats
path: root/cmake/get_cpm.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/get_cpm.cmake')
-rw-r--r--cmake/get_cpm.cmake21
1 files changed, 21 insertions, 0 deletions
diff --git a/cmake/get_cpm.cmake b/cmake/get_cpm.cmake
new file mode 100644
index 0000000..56db226
--- /dev/null
+++ b/cmake/get_cpm.cmake
@@ -0,0 +1,21 @@
+set(CPM_DOWNLOAD_VERSION 0.32.1)
+
+if(CPM_SOURCE_CACHE)
+ # Expand relative path. This is important if the provided path contains a tilde (~)
+ get_filename_component(CPM_SOURCE_CACHE ${CPM_SOURCE_CACHE} ABSOLUTE)
+ set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
+elseif(DEFINED ENV{CPM_SOURCE_CACHE})
+ set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
+else()
+ set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
+endif()
+
+if(NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
+ message(STATUS "Downloading CPM.cmake to ${CPM_DOWNLOAD_LOCATION}")
+ file(DOWNLOAD
+ https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
+ ${CPM_DOWNLOAD_LOCATION}
+ )
+endif()
+
+include(${CPM_DOWNLOAD_LOCATION})