summaryrefslogtreecommitdiffstats
path: root/cmake/QtModuleToolsDependencies.cmake.in
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-04-29 14:36:25 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-05-02 07:30:55 +0000
commitbcfc3dca5d9f3e329fbbcf114145cf8b348c2c81 (patch)
tree9c07e6dac499c51e9b208ae90206fa3d562cb76d /cmake/QtModuleToolsDependencies.cmake.in
parent9b0b464e82071338134700edfa190bf998846e4e (diff)
Make module package depend on its own tool package
Also make the tool package depend on all tool packages that correspond to the qt module dependencies. So find_package(Qt5Widgets) implicitly calls find_package(Qt5WidgetTools). And find_package(Qt5WidgetsTools) will call find_package for Qt5GuiTools, and Qt5CoreTools. This enhances the user experience, so that in modules like qtsvg, you don't have to specify both find_package(Qt5Widgets) and find_package(Qt5WidgetsTools), but only the former. Or when cross building, you only need to specify Qt5WidgetTools, to get both Core and Gui tools. Change-Id: Ib1c5173a5b97584a52e144c22e38e90a712f727a Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'cmake/QtModuleToolsDependencies.cmake.in')
-rw-r--r--cmake/QtModuleToolsDependencies.cmake.in16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/QtModuleToolsDependencies.cmake.in b/cmake/QtModuleToolsDependencies.cmake.in
new file mode 100644
index 0000000000..bac8bb0e04
--- /dev/null
+++ b/cmake/QtModuleToolsDependencies.cmake.in
@@ -0,0 +1,16 @@
+# Find "ModuleTools" dependencies, which are other ModuleTools packages.
+set(_tool_deps "@tool_deps@")
+foreach(_target_dep ${_tool_deps})
+ list(GET _target_dep 0 pkg)
+ list(GET _target_dep 1 version)
+
+ if (NOT ${pkg}_FOUND)
+ find_dependency(${pkg} ${version})
+ endif()
+
+ if (NOT ${pkg}_FOUND)
+ set(@INSTALL_CMAKE_NAMESPACE@@target@Tools_FOUND FALSE)
+ return()
+ endif()
+endforeach()
+