diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-09-10 18:43:09 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-09-11 19:49:53 +0200 |
commit | 94c15bda6e89a0a146d0a463798163cdb1547e29 (patch) | |
tree | c66fa1e69e6f07bd9c4e4bb1f06776bf69a246ac /cmake/QtPostProcessHelpers.cmake | |
parent | 9a2ee310596d229e334b40c4cc37a253009cabf3 (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.cmake | 12 |
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() |