From 8c2f19dfcd59d40f6f72fa75d16369f0a642c968 Mon Sep 17 00:00:00 2001
From: Tammo Jan Dijkema <dijkema@astron.nl>
Date: Mon, 4 Oct 2021 20:24:31 +0200
Subject: [PATCH] Run git submodule --sync in cmake

---
 CMakeLists.txt | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b05feca..c32420c3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,7 +40,16 @@ if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
   # Update submodules as needed
   option(GIT_SUBMODULE "Check submodules during build" ON)
   if(GIT_SUBMODULE)
-    message(STATUS "Submodule update")
+    execute_process(
+      COMMAND ${GIT_EXECUTABLE} submodule sync --recursive
+      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+      RESULT_VARIABLE GIT_SUBMOD_SYNC_RESULT)
+    if(NOT GIT_SUBMOD_SYNC_RESULT EQUAL "0")
+      message(
+        FATAL_ERROR
+          "git submodule sync failed with ${GIT_SUBMOD_SYNC_RESULT}, please checkout submodules"
+      )
+    endif()
     execute_process(
       COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive --checkout
       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-- 
GitLab