CMake: Don't ignore repos without dependencies.yaml

While resolving inter-repository dependencies, we skipped dependencies
if their dependencies.yaml did not exist.  This is wrong.  Instead, such
repos must be handled as if they don't have dependencies.

Drive-by change: Clarify the dependencies result value in the comment
for qt_internal_resolve_module_dependencies.

This amends commit 8a94d1e294.

Fixes: QTBUG-100549
Change-Id: I523ed74cfa96a4bab238f3a475f28c3ac55dd7b4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit ce9f7751e3)
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Joerg Bornemann
2022-02-08 09:59:40 +01:00
committed by Alexandru Croitor
parent 0ec83c2903
commit 64512eafba

View File

@@ -70,7 +70,8 @@ endmacro()
# module is the Qt repository.
#
# out_ordered is where the result is stored. This is a list of all dependencies, including
# transitive ones, in topologically sorted order.
# transitive ones, in topologically sorted order. Note that ${module} itself is also part of
# out_ordered.
#
# out_revisions is a list of git commit IDs for each of the dependencies in ${out_ordered}. This
# list has the same length as ${out_ordered}.
@@ -119,12 +120,10 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
set(dependencies "${arg_PARSED_DEPENDENCIES}")
else()
set(depends_file "${CMAKE_CURRENT_SOURCE_DIR}/${module}/dependencies.yaml")
if(NOT EXISTS "${depends_file}")
qt_internal_resolve_module_dependencies_set_skipped(TRUE)
return()
endif()
set(dependencies "")
qt_internal_parse_dependencies("${depends_file}" dependencies)
if(EXISTS "${depends_file}")
qt_internal_parse_dependencies("${depends_file}" dependencies)
endif()
endif()
# Traverse the dependencies.