diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2022-02-17 14:12:19 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-02-18 15:40:44 +0000 |
commit | 80d31937fb6a53c971e911e8dafb8d355d3c2d65 (patch) | |
tree | 14aef1a1a5d017fb75c16d52c9c58467e5da0622 /cmake | |
parent | 4f09d68948bfbee6dd13dd63c4a390f689739b8e (diff) |
CMake: Fix cross-build without qt.toolchain.cmake
If there's no qt.toolchain.cmake used, QT_HOST_PATH_CMAKE_DIR is not
set. Use the location calculated from the Qt6HostInfo package in that
case.
This amends commit e044c94a61f0cd2bdea1e89be4ec3c68007f7a5c.
Change-Id: I99aed8e920b8c1aa6efd8f18301cc34aca5559ca
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 006224eb17d97cf5fca641d0de9900c1c60829d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtToolHelpers.cmake | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cmake/QtToolHelpers.cmake b/cmake/QtToolHelpers.cmake index a687ff2b84..d640f146ae 100644 --- a/cmake/QtToolHelpers.cmake +++ b/cmake/QtToolHelpers.cmake @@ -112,23 +112,24 @@ function(qt_internal_add_tool target_name) set(${tools_package_name}_BACKUP_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}) set(${tools_package_name}_BACKUP_CMAKE_FIND_ROOT_PATH "${CMAKE_FIND_ROOT_PATH}") if(QT_HOST_PATH_CMAKE_DIR) - set(CMAKE_PREFIX_PATH "${QT_HOST_PATH_CMAKE_DIR}") + set(qt_host_path_cmake_dir_absolute "${QT_HOST_PATH_CMAKE_DIR}") elseif(Qt${PROJECT_VERSION_MAJOR}HostInfo_DIR) get_filename_component(qt_host_path_cmake_dir_absolute "${Qt${PROJECT_VERSION_MAJOR}HostInfo_DIR}/.." ABSOLUTE) - set(CMAKE_PREFIX_PATH "${qt_host_path_cmake_dir_absolute}") else() # This should never happen, serves as an assert. message(FATAL_ERROR "Neither QT_HOST_PATH_CMAKE_DIR nor " "Qt${PROJECT_VERSION_MAJOR}HostInfo_DIR} available.") endif() + set(CMAKE_PREFIX_PATH "${qt_host_path_cmake_dir_absolute}") # Look for tools in additional host Qt installations. This is done for conan support where # we have separate installation prefixes per package. For simplicity, we assume here that # all host Qt installations use the same value of INSTALL_LIBDIR. if(DEFINED QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH) - file(RELATIVE_PATH rel_host_cmake_dir "${QT_HOST_PATH}" "${QT_HOST_PATH_CMAKE_DIR}") + file(RELATIVE_PATH rel_host_cmake_dir "${QT_HOST_PATH}" + "${qt_host_path_cmake_dir_absolute}") foreach(host_path IN LISTS QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH) set(host_cmake_dir "${host_path}/${rel_host_cmake_dir}") list(PREPEND CMAKE_PREFIX_PATH "${host_cmake_dir}") |