From b6dfb5e295f736f17befb215fd6db3d269adb2fe Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Tue, 1 Dec 2020 17:50:02 +0100 Subject: [PATCH] Support absorbed and unabsorbed submodules Modern git usage for submodules is that the git object storage is absorbed into the supermodule (see git submodule absorbgitdirs). Handle both cases when trying to locate the gitdir for the target module. Pick-to: 6.0 Change-Id: Icddbae3a4d9a8823551106f089dbbff2c935ff35 Reviewed-by: Alexandru Croitor --- cmake/QtTopLevelHelpers.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/QtTopLevelHelpers.cmake b/cmake/QtTopLevelHelpers.cmake index 7de96cdb..abc72507 100644 --- a/cmake/QtTopLevelHelpers.cmake +++ b/cmake/QtTopLevelHelpers.cmake @@ -164,6 +164,10 @@ function(qt_internal_get_dependency dependent dependency) ) string(FIND "${git_stdout}" "${module}" index) string(SUBSTRING "${git_stdout}" 0 ${index} gitdir) + string(FIND "${gitdir}" ".git/modules" index) + if(index GREATER -1) # submodules have not been absorbed + string(SUBSTRING "${gitdir}" 0 ${index} gitdir) + endif() message(DEBUG "Will look for clones in ${gitdir}") execute_process(