From 4c46d0d50b7c4641c01a1e18b0fc2436155450d6 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Wed, 25 Oct 2017 23:02:23 +0200
Subject: [PATCH] [Jenkins] Test submodule checkout failure.

---
 scripts/cmake/SubmoduleSetup.cmake | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index 5dbf45035c1..9d753a14708 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -42,6 +42,7 @@ foreach(SUBMODULE ${REQUIRED_SUBMODULES})
     string(REGEX MATCH "^\\-" UNINITIALIZED ${SUBMODULE_STATE})
     string(REGEX MATCH "^\\+" MISMATCH ${SUBMODULE_STATE})
 
+    set(RESULT "")
     if(UNINITIALIZED)
         message(STATUS "Initializing submodule ${SUBMODULE}")
         if(${SUBMODULE} STREQUAL "Tests/Data")
@@ -50,6 +51,7 @@ foreach(SUBMODULE ${REQUIRED_SUBMODULES})
         execute_process(
             COMMAND ${GIT_TOOL_PATH} submodule update --init --recursive ${DEPTH} ${SUBMODULE}
             WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+            RESULT_VARIABLE RESULT
         )
 
     elseif(MISMATCH)
@@ -57,6 +59,11 @@ foreach(SUBMODULE ${REQUIRED_SUBMODULES})
         execute_process(
             COMMAND ${GIT_TOOL_PATH} submodule update --recursive ${SUBMODULE}
             WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+            RESULT_VARIABLE RESULT
         )
     endif()
+
+    if((NOT ${RESULT} STREQUAL "") AND (NOT ${RESULT} STREQUAL "0"))
+        message(FATAL_ERROR "Error in submodule setup; return value: ${RESULT}")
+    endif()
 endforeach()
-- 
GitLab