summaryrefslogtreecommitdiffstats
path: root/cmake/QtPostProcessHelpers.cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-09-10 18:43:09 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-09-11 19:49:53 +0200
commit94c15bda6e89a0a146d0a463798163cdb1547e29 (patch)
treec66fa1e69e6f07bd9c4e4bb1f06776bf69a246ac /cmake/QtPostProcessHelpers.cmake
parent9a2ee310596d229e334b40c4cc37a253009cabf3 (diff)
CMake: Provide way to register extra tool package dependencies
This is needed for qtwayland, where QtWaylandCompositor package should call find_package(QtWaylandScanner) in the 'Tools' section of the ModuleDependencies.cmake file, rather than the regular 'Qt' section. This takes care of handling host path prefixes, to ensure that a host package is found even when tools have also been cross-compiled via the QT_BUILD_TOOLS_WHEN_CROSSCOMPILING option. Task-number: QTBUG-83968 Change-Id: I4725a630214d053105fb6d2a0f7c5ff6128d13f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'cmake/QtPostProcessHelpers.cmake')
-rw-r--r--cmake/QtPostProcessHelpers.cmake12
1 files changed, 11 insertions, 1 deletions
diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake
index 42ad39ee5e..0da6d9e4c3 100644
--- a/cmake/QtPostProcessHelpers.cmake
+++ b/cmake/QtPostProcessHelpers.cmake
@@ -105,6 +105,16 @@ function(qt_internal_create_module_depends_file target)
# ModuleDependencies.cmake.
set(main_module_tool_deps "")
+ # Extra QtFooModuleTools packages to be added as dependencies to
+ # QtModuleDependencies.cmake. Needed for QtWaylandCompositor / QtWaylandClient.
+ if(NOT arg_HEADER_MODULE)
+ get_target_property(extra_tools_package_dependencies "${target}"
+ QT_EXTRA_TOOLS_PACKAGE_DEPENDENCIES)
+ if(extra_tools_package_dependencies)
+ list(APPEND main_module_tool_deps "${extra_tools_package_dependencies}")
+ endif()
+ endif()
+
qt_internal_get_qt_all_known_modules(known_modules)
set(all_depends ${depends} ${public_depends})
@@ -144,7 +154,7 @@ function(qt_internal_create_module_depends_file target)
# Add dependency to the main ModuleTool package to ModuleDependencies file.
if(${target} IN_LIST QT_KNOWN_MODULES_WITH_TOOLS)
- set(main_module_tool_deps
+ list(APPEND main_module_tool_deps
"${INSTALL_CMAKE_NAMESPACE}${target}Tools\;${PROJECT_VERSION}")
endif()