diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake index 3076a314c96..85767fadbeb 100644 --- a/cmake/QtPriHelpers.cmake +++ b/cmake/QtPriHelpers.cmake @@ -99,10 +99,15 @@ endfunction() function(qt_get_direct_module_dependencies target out_var) cmake_parse_arguments(arg "PRIVATE" "" "" ${ARGN}) set(dependencies "") + get_target_property(target_type ${target} TYPE) if(arg_PRIVATE) - get_target_property(libs ${target} LINK_LIBRARIES) + if(target_type STREQUAL "INTERFACE_LIBRARY") + set(libs) + else() + get_target_property(libs ${target} LINK_LIBRARIES) + list(REMOVE_DUPLICATES libs) + endif() get_target_property(public_libs ${target} INTERFACE_LINK_LIBRARIES) - list(REMOVE_DUPLICATES libs) list(REMOVE_DUPLICATES public_libs) # Remove all Qt::Foo and Qt6::Foo from libs that also appear in public_libs. @@ -124,7 +129,6 @@ function(qt_get_direct_module_dependencies target out_var) if(NOT libs) set(libs "") endif() - get_target_property(target_type ${target} TYPE) while(libs) list(POP_FRONT libs lib) string(GENEX_STRIP "${lib}" lib)