about summary refs log tree commit diff homepage
path: root/test/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/CMakeLists.txt')
-rw-r--r--test/CMakeLists.txt16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 06bf5d28..0da40cf0 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -70,7 +70,13 @@ if (DOWNLOAD_FILECHECK_SOURCE)
   set(FILECHECK_SRC_FILE "${CMAKE_CURRENT_BINARY_DIR}/FileCheck.cpp")
   if (NOT EXISTS "${FILECHECK_SRC_FILE}")
     message(STATUS "Downloading LLVM FileCheck source")
-    file(DOWNLOAD "${FILECHECK_SRC_URL}" "${FILECHECK_SRC_FILE}" SHOW_PROGRESS)
+    file(DOWNLOAD "${FILECHECK_SRC_URL}" "${FILECHECK_SRC_FILE}" SHOW_PROGRESS STATUS DOWNLOAD_STATUS)
+    list(GET DOWNLOAD_STATUS 0 DOWNLOAD_STATUS_CODE)
+    if (NOT DOWNLOAD_STATUS_CODE EQUAL 0)
+      file(REMOVE "${FILECHECK_SRC_FILE}")
+      list(GET DOWNLOAD_STATUS 1 DOWNLOAD_STATUS_MESSAGE)
+      message(FATAL_ERROR "Download failed with error: ${DOWNLOAD_STATUS_CODE} - ${DOWNLOAD_STATUS_MESSAGE}")
+    endif()
   endif()
   add_executable(FileCheck
     ${FILECHECK_SRC_FILE}
@@ -91,7 +97,13 @@ if (DOWNLOAD_NOT_SOURCE)
   set(NOT_SRC_FILE "${CMAKE_CURRENT_BINARY_DIR}/not.cpp")
   if (NOT EXISTS "${NOT_SRC_FILE}")
     message(STATUS "Downloading LLVM not source")
-    file(DOWNLOAD "${NOT_SRC_URL}" "${NOT_SRC_FILE}" SHOW_PROGRESS)
+    file(DOWNLOAD "${NOT_SRC_URL}" "${NOT_SRC_FILE}" SHOW_PROGRESS STATUS DOWNLOAD_STATUS)
+    list(GET DOWNLOAD_STATUS 0 DOWNLOAD_STATUS_CODE)
+    if (NOT DOWNLOAD_STATUS_CODE EQUAL 0)
+      file(REMOVE "${NOT_SRC_FILE}")
+      list(GET DOWNLOAD_STATUS 1 DOWNLOAD_STATUS_MESSAGE)
+      message(FATAL_ERROR "Download failed with error: ${DOWNLOAD_STATUS_CODE} - ${DOWNLOAD_STATUS_MESSAGE}")
+    endif()
   endif()
   add_executable("not"
     ${NOT_SRC_FILE}