CMake: Don't make a private module depend 1kk times on the public one

The exported INTERFACE_LINK_LIBRARIES property now looks a lot more
sane.

Change-Id: I093fcb242607023dd0b103298562b299cb803028
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Alexandru Croitor 2020-03-13 16:51:45 +01:00
parent 2537d04785
commit 6e286247e8

View File

@ -1219,7 +1219,7 @@ function(qt_extend_target target)
set(target_private "${target}Private")
if(TARGET "${target_private}")
target_link_libraries("${target_private}"
INTERFACE "${target}" ${arg_PRIVATE_MODULE_INTERFACE})
INTERFACE ${arg_PRIVATE_MODULE_INTERFACE})
endif()
qt_register_target_dependencies("${target}"
"${arg_PUBLIC_LIBRARIES}"
@ -2054,6 +2054,7 @@ set(QT_CMAKE_EXPORT_NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE})")
if(NOT ${arg_NO_PRIVATE_MODULE})
target_include_directories("${target_private}" INTERFACE ${interface_includes})
target_link_libraries("${target_private}" INTERFACE "${target}")
endif()
if(is_framework AND NOT is_interface_lib)