MethaneAsteroids
32 строки · 1.0 Кб
1set(CPM_DOWNLOAD_VERSION 0.38.2)
2
3if(CPM_SOURCE_CACHE)
4set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
5elseif(DEFINED ENV{CPM_SOURCE_CACHE})
6set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
7else()
8set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
9endif()
10
11# Expand relative path. This is important if the provided path contains a tilde (~)
12get_filename_component(CPM_DOWNLOAD_LOCATION ${CPM_DOWNLOAD_LOCATION} ABSOLUTE)
13
14function(download_cpm)
15message(STATUS "Downloading CPM.cmake to ${CPM_DOWNLOAD_LOCATION}")
16file(DOWNLOAD
17https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
18${CPM_DOWNLOAD_LOCATION}
19)
20endfunction()
21
22if(NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
23download_cpm()
24else()
25# resume download if it previously failed
26file(READ ${CPM_DOWNLOAD_LOCATION} check)
27if("${check}" STREQUAL "")
28download_cpm()
29endif()
30endif()
31
32include(${CPM_DOWNLOAD_LOCATION})
33