@@ -100,11 +100,11 @@ ENDFOREACH()
100
100
101
101
# Once called, status is stored in GIT_RESULT respectively.
102
102
# Note: Git likes to write to stderr. Don't assume stderr is error; Check GIT_RESULT instead.
103
- MACRO (GIT_SUBMODULE SUBMODULE_PATH FORCE_DEINIT FORCE_REMOTE FULL_CLONE )
103
+ MACRO (GIT_SUBMODULE SUBMODULE_PATH FORCE_DEINIT FORCE_REMOTE NO_DEPTH )
104
104
FIND_PACKAGE (Git REQUIRED)
105
105
# Handle missing commits
106
106
SET (FORCE_REMOTE_FLAG "${FORCE_REMOTE} " )
107
- SET (FULL_CLONE_FLAG "${FULL_CLONE } " )
107
+ SET (NO_DEPTH_FLAG "${NO_DEPTH } " )
108
108
IF (FORCE_REMOTE_FLAG)
109
109
MESSAGE ("-- Adding remote submodulefix to ${SUBMODULE_PATH} " )
110
110
EXECUTE_PROCESS (
@@ -115,7 +115,7 @@ MACRO(GIT_SUBMODULE SUBMODULE_PATH FORCE_DEINIT FORCE_REMOTE FULL_CLONE)
115
115
OUTPUT_QUIET ERROR_QUIET
116
116
)
117
117
# Recurse
118
- GIT_SUBMODULE(${SUBMODULE_PATH} false false ${FULL_CLONE_FLAG } )
118
+ GIT_SUBMODULE(${SUBMODULE_PATH} false false ${NO_DEPTH_FLAG } )
119
119
ELSEIF (${FORCE_DEINIT} )
120
120
MESSAGE ("-- Resetting ${SUBMODULE_PATH} " )
121
121
EXECUTE_PROCESS (
@@ -125,21 +125,15 @@ MACRO(GIT_SUBMODULE SUBMODULE_PATH FORCE_DEINIT FORCE_REMOTE FULL_CLONE)
125
125
)
126
126
MESSAGE ("-- Deleting ${CMAKE_SOURCE_DIR} /.git/${SUBMODULE_PATH} " )
127
127
FILE (REMOVE_RECURSE "${CMAKE_SOURCE_DIR} /.git/modules/${SUBMODULE_PATH} " )
128
- # Recurse
128
+ # Recurse without depth
129
129
GIT_SUBMODULE(${SUBMODULE_PATH} false false true )
130
130
ELSE ()
131
131
# Try to use the depth switch
132
- IF (NO_SHALLOW_CLONE OR GIT_VERSION_STRING VERSION_LESS "1.8.4" )
132
+ IF (NO_SHALLOW_CLONE OR GIT_VERSION_STRING VERSION_LESS "1.8.4" OR NO_DEPTH_FLAG )
133
133
# Shallow submodules were introduced in 1.8.4
134
134
MESSAGE ("-- Fetching ${SUBMODULE_PATH} " )
135
135
SET (DEPTH_CMD "" )
136
136
SET (DEPTH_VAL "" )
137
- ELSEIF (FULL_CLONE_FLAG)
138
- # Depth doesn't revert easily... It should be "--no-recommend-shallow"
139
- # but it's ignored by nested submodules, use the highest value instead.
140
- MESSAGE ("-- Fetching ${SUBMODULE_PATH} " )
141
- SET (DEPTH_CMD "--depth" )
142
- SET (DEPTH_VAL "2147483647" )
143
137
ELSE ()
144
138
MESSAGE ("-- Fetching ${SUBMODULE_PATH} @ --depth ${DEPTH_VALUE} " )
145
139
SET (DEPTH_CMD "--depth" )
@@ -201,13 +195,7 @@ FOREACH(_submodule ${SUBMODULE_LIST})
201
195
BREAK ()
202
196
ELSEIF ("${GIT_MESSAGE} " MATCHES "${_phrase} " )
203
197
MESSAGE ("-- Retrying ${_submodule} using 'deinit' (attempt ${COUNTED} of ${MAX_ATTEMPTS} )..." )
204
- IF (COUNTED LESS 2)
205
- SET (FULL_CLONE false )
206
- ELSE ()
207
- SET (FULL_CLONE true )
208
- ENDIF ()
209
-
210
- GIT_SUBMODULE("${_submodule} " true false ${FULL_CLONE} )
198
+ GIT_SUBMODULE("${_submodule} " true false false )
211
199
BREAK ()
212
200
ENDIF ()
213
201
ENDFOREACH ()
0 commit comments