@@ -184,22 +184,24 @@ endfunction()
184
184
#
185
185
# NORMALIZE_REPO_NAME_IF_NEEDED Will remove 'tqtc-' from the beginning of submodule dependencies
186
186
# if a tqtc- named directory does not exist.
187
+ #
188
+ # SKIP_MODULES Modules that should be skipped from evaluation completely.
187
189
function (qt_internal_resolve_module_dependencies module out_ordered out_revisions)
188
190
set (options IN_RECURSION NORMALIZE_REPO_NAME_IF_NEEDED PARSE_GITMODULES
189
191
EXCLUDE_OPTIONAL_DEPS)
190
192
set (oneValueArgs REVISION SKIPPED_VAR GITMODULES_PREFIX_VAR)
191
- set (multiValueArgs PARSED_DEPENDENCIES)
193
+ set (multiValueArgs PARSED_DEPENDENCIES SKIP_MODULES )
192
194
cmake_parse_arguments (arg "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
193
195
194
196
# Clear the property that stores the repositories we've already seen.
195
197
if (NOT arg_IN_RECURSION)
196
198
set_property (GLOBAL PROPERTY _qt_internal_seen_repos)
197
199
endif ()
198
200
199
- # Bail out if we've seen the module already.
201
+ # Bail out if we've seen the module already or it was skipped explicitly from command line .
200
202
qt_internal_resolve_module_dependencies_set_skipped(FALSE )
201
203
get_property (seen GLOBAL PROPERTY _qt_internal_seen_repos)
202
- if (module IN_LIST seen)
204
+ if (module IN_LIST seen OR module IN_LIST arg_SKIP_MODULES )
203
205
qt_internal_resolve_module_dependencies_set_skipped(TRUE )
204
206
return ()
205
207
endif ()
@@ -287,6 +289,11 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
287
289
set (exclude_optional_deps "EXCLUDE_OPTIONAL_DEPS" )
288
290
endif ()
289
291
292
+ set (extra_options "" )
293
+ if (arg_SKIP_MODULES)
294
+ list (extra_options APPEND SKIP_MODULES ${arg_SKIP_MODULES} )
295
+ endif ()
296
+
290
297
qt_internal_resolve_module_dependencies(${dependency} dep_ordered dep_revisions
291
298
REVISION "${revision} "
292
299
SKIPPED_VAR skipped
@@ -295,6 +302,7 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
295
302
${parse_gitmodules}
296
303
${exclude_optional_deps}
297
304
GITMODULES_PREFIX_VAR ${arg_GITMODULES_PREFIX_VAR}
305
+ ${extra_options}
298
306
)
299
307
if (NOT skipped)
300
308
list (APPEND ordered ${dep_ordered} )
@@ -321,11 +329,13 @@ endfunction()
321
329
# EXCLUDE_OPTIONAL_DEPS is a keyword argument that excludes optional dependencies from the result.
322
330
# See qt_internal_resolve_module_dependencies for details.
323
331
#
332
+ # SKIP_MODULES Modules that should be skipped from evaluation completely.
333
+ #
324
334
# See qt_internal_resolve_module_dependencies for side effects.
325
335
function (qt_internal_sort_module_dependencies modules out_all_ordered)
326
336
set (options PARSE_GITMODULES EXCLUDE_OPTIONAL_DEPS)
327
337
set (oneValueArgs GITMODULES_PREFIX_VAR)
328
- set (multiValueArgs "" )
338
+ set (multiValueArgs SKIP_MODULES )
329
339
cmake_parse_arguments (arg "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
330
340
331
341
set (parse_gitmodules "" )
@@ -345,12 +355,18 @@ function(qt_internal_sort_module_dependencies modules out_all_ordered)
345
355
list (APPEND all_selected_repos_as_parsed_dependencies "${module} /HEAD/FALSE" )
346
356
endforeach ()
347
357
358
+ set (extra_args "" )
359
+ if (arg_SKIP_MODULES)
360
+ set (extra_args SKIP_MODULES ${arg_SKIP_MODULES} )
361
+ endif ()
362
+
348
363
qt_internal_resolve_module_dependencies(all_selected_repos ordered unused_revisions
349
364
PARSED_DEPENDENCIES ${all_selected_repos_as_parsed_dependencies}
350
365
NORMALIZE_REPO_NAME_IF_NEEDED
351
366
${exclude_optional_deps}
352
367
${parse_gitmodules}
353
368
GITMODULES_PREFIX_VAR ${arg_GITMODULES_PREFIX_VAR}
369
+ ${extra_args}
354
370
)
355
371
356
372
# Drop "all_selected_repos" from the output. It depends on all selected repos, thus it must be
0 commit comments