From 83819e0f938a270def7fa577329af04a33161a9a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Saulo=20Aldighieri=20Moraes/Security=20R=26D=20/SRBR/Assist?= =?utf8?q?ant=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Sun, 3 Mar 2019 23:07:15 -0300 Subject: [PATCH] [CMake] Print download error (#4529) Improvement on cmake script to print detailed status message when download fails. Example of new message format: [ 11s] CMake Error at cmake/modules/ExternalSourceTools.cmake:39 (message): [ 11s] error: downloading [ 11s] 'https://github.com/ARM-software/ComputeLibrary/archive/v18.11.tar.gz' [ 11s] failed [ 11s] [ 11s] status_code: 1 [ 11s] status_string: "Unsupported protocol" [ 11s] log: Protocol "https" not supported or disabled in libcurl [ 11s] [ 11s] Closing connection -1 Signed-off-by: Saulo A. Moraes --- cmake/modules/ExternalSourceTools.cmake | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cmake/modules/ExternalSourceTools.cmake b/cmake/modules/ExternalSourceTools.cmake index 76ebb55..9aa5372 100644 --- a/cmake/modules/ExternalSourceTools.cmake +++ b/cmake/modules/ExternalSourceTools.cmake @@ -28,7 +28,19 @@ function(ExternalSource_Download PREFIX URL) file(MAKE_DIRECTORY "${TMP_DIR}") message("-- Download ${PREFIX} from ${URL}") - file(DOWNLOAD ${URL} "${DOWNLOAD_PATH}") + file(DOWNLOAD ${URL} "${DOWNLOAD_PATH}" + STATUS status + LOG log) + + list(GET status 0 status_code) + list(GET status 1 status_string) + + if(NOT status_code EQUAL 0) + message(FATAL_ERROR "error: downloading '${URL}' failed + status_code: ${status_code} + status_string: ${status_string} + log: ${log}") + endif() message("-- Download ${PREFIX} from ${URL} - done") message("-- Extract ${PREFIX}") -- 2.7.4