diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-04-16 16:31:25 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-04-19 10:28:10 +0000 |
commit | 1051db0b018b1ef686b9d04cdd37e70f39399289 (patch) | |
tree | b183aeb8925a32ead4abed54812a33c12c042ceb | |
parent | 19b70c1caad18c91dac9b3a997bdbf5eeabbdf5e (diff) |
Fix top-level build repository targets
The directory-level targets missed the first level of sub-targets.
E.g. `qtbase_qmake` did not have a dependency to `qmake`.
Fix qt_build_internals_get_repo_targets to first grab all targets of the
subdirectory and then recurse.
Change-Id: I3604000caec22fac9a4cc5f5aaf651d550d16793
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 82f8519b827ba7fd89f8168632461f47b09605a7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake index 477f5d21e9..38dc92fff3 100644 --- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake +++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake @@ -187,18 +187,19 @@ endmacro() # find all targets defined in $subdir by recursing through all added subdirectories # populates $qt_repo_targets with a ;-list of non-UTILITY targets macro(qt_build_internals_get_repo_targets subdir) + get_directory_property(_targets DIRECTORY "${subdir}" BUILDSYSTEM_TARGETS) + if(_targets) + foreach(_target IN LISTS _targets) + get_target_property(_type ${_target} TYPE) + if(NOT (${_type} STREQUAL "UTILITY" OR ${_type} STREQUAL "INTERFACE")) + list(APPEND qt_repo_targets "${_target}") + endif() + endforeach() + endif() + get_directory_property(_directories DIRECTORY "${subdir}" SUBDIRECTORIES) if (_directories) foreach(_directory IN LISTS _directories) - get_directory_property(_targets DIRECTORY "${_directory}" BUILDSYSTEM_TARGETS) - if (_targets) - foreach(_target IN LISTS _targets) - get_target_property(_type ${_target} TYPE) - if (NOT (${_type} STREQUAL "UTILITY" OR ${_type} STREQUAL "INTERFACE")) - list(APPEND qt_repo_targets "${_target}") - endif() - endforeach() - endif() qt_build_internals_get_repo_targets("${_directory}") endforeach() endif() |