diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-10-01 09:48:42 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2021-10-01 18:51:07 +0200 |
commit | f6cd55445d38cb5932f4cfcb5c6d4b9ac187c3eb (patch) | |
tree | 3b7b1af689ed72f158c2702fcc8fa982497d6005 /cmake/QtTargetHelpers.cmake | |
parent | c6ae39c45f4b2cdcd27990aeb10f9a7628646888 (diff) |
Don't export Qt6::ATSPI2_nolink target in Qt6GuiTargets.cmake
We don't have any APSPI2 includes in our public headers and should
therefore not export the target that provides ATSPI2 include paths for
consumers.
Link against PkgConfig::ATSPI2 instead of the _nolink target.
The former will not be exported.
Pick-to: 6.2
Fixes: QTBUG-97023
Change-Id: I4b12e0c2230917feeb963c02565e6db24f757bd3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtTargetHelpers.cmake')
-rw-r--r-- | cmake/QtTargetHelpers.cmake | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake index 2c15b85a58..9f4ef66c8c 100644 --- a/cmake/QtTargetHelpers.cmake +++ b/cmake/QtTargetHelpers.cmake @@ -787,6 +787,26 @@ function(qt_internal_link_internal_platform_for_object_library target) target_link_libraries("${target}" PRIVATE Qt::PlatformModuleInternal) endfunction() +# Use ${dep_target}'s include dirs when building ${target}. +# +# Assumes ${dep_target} is an INTERFACE_LIBRARY that only propagates include dirs and ${target} +# is a Qt module / plugin. +# +# Building ${target} requires ${dep_target}'s include dirs. +# Using ${target} does not require ${dep_target}'s include dirs. +# +# The main use case is adding the private header-only dependency PkgConfig::ATSPI2. +function(qt_internal_add_target_include_dirs target dep_target) + if(NOT TARGET "${target}") + message(FATAL_ERROR "${target} is not a valid target.") + endif() + if(NOT TARGET "${dep_target}") + message(FATAL_ERROR "${dep_target} is not a valid target.") + endif() + + target_include_directories("${target}" PRIVATE + "$<TARGET_PROPERTY:${dep_target},INTERFACE_INCLUDE_DIRECTORIES>") +endfunction() # Use ${dep_target}'s include dirs when building ${target} and optionally propagate the include # dirs to consumers of ${target}. @@ -809,15 +829,7 @@ endfunction() # # The main use case is for propagating WrapVulkanHeaders::WrapVulkanHeaders. function(qt_internal_add_target_include_dirs_and_optionally_propagate target dep_target) - if(NOT TARGET "${target}") - message(FATAL_ERROR "${target} is not a valid target.") - endif() - if(NOT TARGET "${dep_target}") - message(FATAL_ERROR "${dep_target} is not a valid target.") - endif() - - target_include_directories("${target}" PRIVATE - "$<TARGET_PROPERTY:${dep_target},INTERFACE_INCLUDE_DIRECTORIES>") + qt_internal_add_target_include_dirs(${target} ${dep_target}) target_link_libraries("${target}" INTERFACE "$<TARGET_NAME_IF_EXISTS:${dep_target}>") |