Set the _qt_ module properties for interface targets
The module properties starting with _qt can be set on interface targets. We should set them to handle _qt_config_module_name property for Private targets correctly. Otherwise private imported modules do not land in .pri files as dependencies. Amends 173164cd477211e574c0d04abef51aa0f4c3f78d Fixes: QTBUG-123410 Change-Id: I14866eb407e6ddcbd625f5546cba22ccc7b6a297 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
7aecb189d5
commit
840f5c1760
@ -356,6 +356,9 @@ function(_qt_internal_create_versionless_targets targets install_namespace)
|
|||||||
QT_QMAKE_PRIVATE_CONFIG
|
QT_QMAKE_PRIVATE_CONFIG
|
||||||
QT_QMAKE_PUBLIC_CONFIG
|
QT_QMAKE_PUBLIC_CONFIG
|
||||||
QT_QMAKE_PUBLIC_QT_CONFIG
|
QT_QMAKE_PUBLIC_QT_CONFIG
|
||||||
|
)
|
||||||
|
|
||||||
|
set(known_qt_exported_properties_interface_allowed
|
||||||
_qt_config_module_name
|
_qt_config_module_name
|
||||||
_qt_is_public_module
|
_qt_is_public_module
|
||||||
_qt_module_has_headers
|
_qt_module_has_headers
|
||||||
@ -429,5 +432,14 @@ function(_qt_internal_create_versionless_targets targets install_namespace)
|
|||||||
INTERFACE_${property} "${interface_property_value}")
|
INTERFACE_${property} "${interface_property_value}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
foreach(property IN LISTS known_qt_exported_properties_interface_allowed)
|
||||||
|
get_target_property(exported_property_value
|
||||||
|
${install_namespace}::${target} ${property})
|
||||||
|
if(exported_property_value)
|
||||||
|
set_property(TARGET Qt::${target} APPEND PROPERTY
|
||||||
|
${property} "${exported_property_value}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user