diff options
| author | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-01-31 11:43:22 +0100 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@qt.io> | 2020-02-07 18:19:51 +0000 |
| commit | 1c571e5fe7a31e7accb04b37a1d3bd7c8855d05c (patch) | |
| tree | 65241f1258136d0c45bcaa3b51e1393a2f595e6a /cmake/QtModuleDependencies.cmake.in | |
| parent | 2145cdc54d5812793310f7e3b3709bfa2648bd50 (diff) | |
| parent | 4e7af2061e8c323b2a21f0549643a2cfab191664 (diff) | |
Merge "Merge remote-tracking branch 'origin/wip/cmake' into dev"
Diffstat (limited to 'cmake/QtModuleDependencies.cmake.in')
| -rw-r--r-- | cmake/QtModuleDependencies.cmake.in | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in new file mode 100644 index 00000000000..ffb9e8a5d3c --- /dev/null +++ b/cmake/QtModuleDependencies.cmake.in @@ -0,0 +1,66 @@ +# note: _third_party_deps example: "ICU\\;1.0\\;i18n uc data;ZLIB\\;\\;" +set(_third_party_deps "@third_party_deps@") + +foreach(_target_dep ${_third_party_deps}) + list(GET _target_dep 0 pkg) + list(GET _target_dep 1 version) + list(GET _target_dep 2 components) + set(find_package_args "${pkg}") + if(version) + list(APPEND find_package_args "${version}") + endif() + + if(components) + string(REPLACE " " ";" components "${components}") + find_dependency(${find_package_args} COMPONENTS ${components}) + else() + find_dependency(${find_package_args}) + endif() + + if (NOT ${pkg}_FOUND) + set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE) + return() + endif() +endforeach() + +# Find Qt tool package. +set(_tool_deps "@main_module_tool_deps@") + +# The tools do not provide linkage targets but executables, where a mismatch +# between 32-bit target and 64-bit host does not matter. +set(BACKUP_CMAKE_SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}") +set(CMAKE_SIZEOF_VOID_P "") + +foreach(_target_dep ${_tool_deps}) + list(GET _target_dep 0 pkg) + list(GET _target_dep 1 version) + + find_dependency(${pkg} ${version}) + + if (NOT ${pkg}_FOUND) + set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE) + set(CMAKE_SIZEOF_VOID_P "${BACKUP_CMAKE_SIZEOF_VOID_P}") + return() + endif() +endforeach() +set(CMAKE_SIZEOF_VOID_P "${BACKUP_CMAKE_SIZEOF_VOID_P}") + +# note: target_deps example: "Qt6Core\;5.12.0;Qt6Gui\;5.12.0" +set(_target_deps "@target_deps@") +foreach(_target_dep ${_target_deps}) + list(GET _target_dep 0 pkg) + list(GET _target_dep 1 version) + + if (NOT ${pkg}_FOUND) + find_dependency(${pkg} ${version} + PATHS "${CMAKE_CURRENT_LIST_DIR}/.." ${QT_EXAMPLES_CMAKE_PREFIX_PATH} NO_DEFAULT_PATH + ) + endif() + + if (NOT ${pkg}_FOUND) + set(@INSTALL_CMAKE_NAMESPACE@@target@_FOUND FALSE) + return() + endif() +endforeach() + + |
