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>
This commit is contained in:
parent
0a9711d668
commit
340bd7a2fe
@ -242,18 +242,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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user