From 64512eafbae4e6888708b4b20e306d1f39281ce3 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 8 Feb 2022 09:59:40 +0100 Subject: [PATCH] CMake: Don't ignore repos without dependencies.yaml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 8a94d1e2946644253cf2979c35636cbfb850422d. Fixes: QTBUG-100549 Change-Id: I523ed74cfa96a4bab238f3a475f28c3ac55dd7b4 Reviewed-by: Alexandru Croitor Reviewed-by: Alexey Edelev (cherry picked from commit ce9f7751e3161bba496267f3bac132ab6f4ea442) Reviewed-by: Jörg Bornemann --- cmake/QtTopLevelHelpers.cmake | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/cmake/QtTopLevelHelpers.cmake b/cmake/QtTopLevelHelpers.cmake index bd511cdd..1288fdac 100644 --- a/cmake/QtTopLevelHelpers.cmake +++ b/cmake/QtTopLevelHelpers.cmake @@ -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.