summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2021-08-23 20:47:05 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2021-08-26 16:40:15 +0200
commit0dbf73e3deb9727da0376abf131d764251969114 (patch)
treeb77047b83d5fca41a971397725e398a2efd20d2e /cmake
parent80705298ca11587782beed49c4ae55f533cfc0c2 (diff)
CMake: Warn when PRIVATE_MODULE_INTERFACE is provided with no target
Warn if the PRIVATE_MODULE_INTERFACE option is provided a value, but there is no ${target}Private target to set the interface dependencies on. Pick-to: 6.2 Task-number: QTBUG-95921 Change-Id: I7d4df9cb3aa9b7746d836b82019ecdd9c8f50fdc Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtTargetHelpers.cmake12
1 files changed, 10 insertions, 2 deletions
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake
index cc7481aec1..2c15b85a58 100644
--- a/cmake/QtTargetHelpers.cmake
+++ b/cmake/QtTargetHelpers.cmake
@@ -108,8 +108,16 @@ function(qt_internal_extend_target target)
set(target_private "${target}")
endif()
if(TARGET "${target_private}")
- target_link_libraries("${target_private}"
- INTERFACE ${arg_PRIVATE_MODULE_INTERFACE})
+ target_link_libraries("${target_private}"
+ INTERFACE ${arg_PRIVATE_MODULE_INTERFACE})
+ elseif(arg_PRIVATE_MODULE_INTERFACE)
+ set(warning_message "")
+ string(APPEND warning_message
+ "The PRIVATE_MODULE_INTERFACE option was provided the values:"
+ "'${arg_PRIVATE_MODULE_INTERFACE}' "
+ "but there is no ${target}Private target to assign them to."
+ "Ensure the target exists or remove the option.")
+ message(AUTHOR_WARNING "${warning_message}")
endif()
qt_register_target_dependencies("${target}"
"${arg_PUBLIC_LIBRARIES}"