diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/cmake/vcpkg_download_distfile.cmake | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index dd5108f92..208871e3e 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -144,7 +144,7 @@ function(vcpkg_download_distfile VAR) OUTPUT_FILE download-${vcpkg_download_distfile_FILENAME}-out.log ERROR_FILE download-${vcpkg_download_distfile_FILENAME}-err.log RESULT_VARIABLE error_code - WORKING_DIRECTORY ${DOWNLOADS} + WORKING_DIRECTORY "${DOWNLOADS}" ) if (NOT "${error_code}" STREQUAL "0") message(STATUS @@ -157,14 +157,19 @@ function(vcpkg_download_distfile VAR) ) set(download_success 0) else() + test_hash("${DOWNLOADS}/temp/${vcpkg_download_distfile_FILENAME}" "downloaded file" "The file may have been corrupted in transit.") file(REMOVE ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-out.log ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-err.log ${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-detailed.log ) + get_filename_component(downloaded_file_dir "${downloaded_file_path}" DIRECTORY) + file(MAKE_DIRECTORY "${downloaded_file_dir}") + file(RENAME "${DOWNLOADS}/temp/${vcpkg_download_distfile_FILENAME}" "${downloaded_file_path}") set(download_success 1) endif() - elseif(vcpkg_download_distfile_SKIP_SHA512) + elseif(vcpkg_download_distfile_SKIP_SHA512 OR vcpkg_download_distfile_HEADERS) + # This is a workaround until the vcpkg tool supports downloading files without SHA512 and with headers set(download_success 0) set(request_headers) if(vcpkg_download_distfile_HEADERS) |
