diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-04-29 14:36:25 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-05-02 07:30:55 +0000 |
commit | bcfc3dca5d9f3e329fbbcf114145cf8b348c2c81 (patch) | |
tree | 9c07e6dac499c51e9b208ae90206fa3d562cb76d /cmake/QtModuleToolsDependencies.cmake.in | |
parent | 9b0b464e82071338134700edfa190bf998846e4e (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.in | 16 |
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() + |