diff --git a/scripts/cmake/SubmoduleCheck.sh b/scripts/cmake/SubmoduleCheck.sh
deleted file mode 100644
index 726930c4a45ba0e9ebcb97e8dada699145406074..0000000000000000000000000000000000000000
--- a/scripts/cmake/SubmoduleCheck.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-# Checks for unitialized git submodules
-# Parameter 1: The path to the submodule
-# Returns 0 if the module is already initialized
-# Returns 1 if there is no such submodule
-# Returns 2 if the checked out submodule is out of date
-
-# Check for modified
-result=$(git submodule status $1 | grep '^+' | wc -l);
-if [[ result -eq 0 ]]; then
-	result=$(git submodule status $1 | grep '^-' | wc -l);
-	exit $result;
-else
-	exit 2;
-fi
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index 5ffb0a1e0141ec722548b879c1ef02ca7e2c52af..c4b9a93f55a174924d3024d2f01a84eda52853eb 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -17,24 +17,21 @@ if(OGS_BUILD_TESTS)
 endif()
 
 foreach(SUBMODULE ${REQUIRED_SUBMODULES})
-	if(WIN32)
-		set(SUBMODULE_STATE 1)
-	else()
-		# Check if submodule is already initialized
-		execute_process(
-			COMMAND ${BASH_TOOL_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/SubmoduleCheck.sh ${SUBMODULE}
-			WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-			RESULT_VARIABLE SUBMODULE_STATE
-		)
-	endif()
+	execute_process(
+		COMMAND ${GIT_TOOL_PATH} submodule status ${SUBMODULE}
+		WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+		OUTPUT_VARIABLE SUBMODULE_STATE
+	)
+	string(REGEX MATCH "^\\-" UNINITIALIZED ${SUBMODULE_STATE})
+	string(REGEX MATCH "^\\+" MISMATCH ${SUBMODULE_STATE})
 
-	if(SUBMODULE_STATE EQUAL 1)
+	if(UNINITIALIZED)
 		message(STATUS "Initializing submodule ${SUBMODULE}")
 		execute_process(
 			COMMAND ${GIT_TOOL_PATH} submodule update --init ${SUBMODULE}
 			WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 		)
-	elseif(SUBMODULE_STATE EQUAL 2)
+	elseif(MISMATCH)
 		message(STATUS "Updating submodule ${SUBMODULE}")
 		execute_process(
 			COMMAND git submodule update ${SUBMODULE}