diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2019-06-25 14:44:29 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-06-25 13:38:33 +0000 |
commit | 6290efc4ebbdf547e16f5728b8393d1e75a4ed89 (patch) | |
tree | e03beddec3f4e0aaa91f40a4b55840d51f259b1c /cmake/QtModuleDependencies.cmake.in | |
parent | e25f9e20081e83a2c98d4be436d2a79a5fdbbc83 (diff) |
Fix building against an installed static Qt
For ICU we have multiple components, and ICU becomes a public dependency
to QtCore.
When storing the INTERFACE_QT_PACKAGE_COMPONENTS property, make sure to
store the entire list of components, not just the first component -- by
turning the semi-colon separated list into a space separated list.
When processing the components at find_dependency time, we need to
reverse that and pass COMPONENTS directly to ensure a correct parameter
expansion.
Change-Id: I24a0708520e7d5fba039395a151034aee4d4c0e2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtModuleDependencies.cmake.in')
-rw-r--r-- | cmake/QtModuleDependencies.cmake.in | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in index b4f27ba85c..81d6431c67 100644 --- a/cmake/QtModuleDependencies.cmake.in +++ b/cmake/QtModuleDependencies.cmake.in @@ -18,11 +18,12 @@ foreach(_target_dep ${_third_party_deps}) endif() if(components) - list(APPEND find_package_args "COMPONENTS" ${components}) + string(REPLACE " " ";" components "${components}") + find_dependency(${find_package_args} COMPONENTS ${components}) + else() + find_dependency(${find_package_args}) endif() - find_dependency(${find_package_args}) - if (NOT ${pkg}_FOUND) set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE) return() |