diff --git a/Modules/ExternalData.cmake b/Modules/ExternalData.cmake
index 1850e746252528b32d6ae676b94c1e57e13d1711..189374be42c6a19316ce14702adeea8c3983271a 100644
--- a/Modules/ExternalData.cmake
+++ b/Modules/ExternalData.cmake
@@ -949,7 +949,7 @@ function(_ExternalData_link_or_copy src dst)
   endif()
   if(result)
     file(REMOVE "${tmp}")
-    message(FATAL_ERROR "Failed to create\n  ${tmp}\nfrom\n  ${obj}")
+    message(FATAL_ERROR "Failed to create:\n  \"${tmp}\"\nfrom:\n  \"${obj}\"\nwith error:\n  ${result}")
   endif()
 
   # Atomically create/replace the real destination.