From 0dbf73e3deb9727da0376abf131d764251969114 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 23 Aug 2021 20:47:05 +0200 Subject: 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 Reviewed-by: Alexandru Croitor --- cmake/QtTargetHelpers.cmake | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'cmake') 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}" -- cgit v1.2.3