diff --git a/CMake/OTBModuleRemote.cmake b/CMake/OTBModuleRemote.cmake index 74f6b170ee65cd2b86dacedf646b04d74caf27a0..c0c7aa4af230e4183fe4aed562cc19231d157c63 100644 --- a/CMake/OTBModuleRemote.cmake +++ b/CMake/OTBModuleRemote.cmake @@ -22,12 +22,17 @@ # Helper to perform the initial git clone and checkout. function(_git_clone git_executable git_repository git_tag module_dir) - execute_process( - COMMAND "${git_executable}" clone "${git_repository}" "${module_dir}" - RESULT_VARIABLE error_code - OUTPUT_QUIET - ERROR_QUIET - ) + set(retryCount 0) + set(error_code 1) + while(error_code AND (retryCount LESS 3)) + execute_process( + COMMAND "${git_executable}" clone "${git_repository}" "${module_dir}" + RESULT_VARIABLE error_code + OUTPUT_QUIET + ERROR_QUIET + ) + math(EXPR retryCount "${retryCount}+1") + endwhile() if(error_code) message(FATAL_ERROR "Failed to clone repository: '${git_repository}'") endif()