mirror of
git://code.qt.io/qt/qt5.git
synced 2026-04-18 02:56:07 +08:00
Avoid collecting dependencies from modules that were explicitly skipped
If either -skip <module> or BUILD_<module>=OFF is set from command line
we should avoid processing the module dependencies and exclude it from
the list of modules that needs to be build.
Change-Id: Ieec8db085221cc4abd5d8ac83c06ecce25d5d4b0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 13a7e25f5d)
This commit is contained in:
@@ -29,16 +29,26 @@ include(ECMOptionalAddSubdirectory)
|
||||
|
||||
qt_internal_top_level_before_build_submodules()
|
||||
|
||||
qt_internal_find_modules(known_submodules)
|
||||
# Get submodule list if not already defined
|
||||
if(NOT QT_BUILD_SUBMODULES)
|
||||
if(DEFINED ENV{QT_BUILD_SUBMODULES})
|
||||
set(QT_BUILD_SUBMODULES "$ENV{QT_BUILD_SUBMODULES}")
|
||||
else()
|
||||
qt_internal_find_modules(QT_BUILD_SUBMODULES)
|
||||
set(QT_BUILD_SUBMODULES "${known_submodules}")
|
||||
endif()
|
||||
endif()
|
||||
set(QT_BUILD_SUBMODULES "${QT_BUILD_SUBMODULES}" CACHE STRING "Submodules to build")
|
||||
|
||||
# Preliminary check if module should be skipped since -skip <module> or BUILD_<module>
|
||||
# are provided.
|
||||
set(explicitly_skipped_modules "")
|
||||
foreach(module IN LISTS known_submodules)
|
||||
if(DEFINED BUILD_${module} AND NOT BUILD_${module})
|
||||
list(APPEND explicitly_skipped_modules ${module})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
foreach(module IN LISTS QT_BUILD_SUBMODULES)
|
||||
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${module}/CMakeLists.txt)
|
||||
message(FATAL_ERROR
|
||||
@@ -48,7 +58,8 @@ foreach(module IN LISTS QT_BUILD_SUBMODULES)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
qt_internal_sort_module_dependencies("${QT_BUILD_SUBMODULES}" QT_BUILD_SUBMODULES)
|
||||
qt_internal_sort_module_dependencies("${QT_BUILD_SUBMODULES}" QT_BUILD_SUBMODULES
|
||||
SKIP_MODULES ${explicitly_skipped_modules})
|
||||
|
||||
foreach(module IN LISTS QT_BUILD_SUBMODULES)
|
||||
# Check for unmet dependencies
|
||||
|
||||
Reference in New Issue
Block a user