From ea92137e7624d4abd544d79be8faf99471bfd87b Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 26 Sep 2022 11:21:02 +0200 Subject: [PATCH] CMake: Fix HostData qmake property for cross builds The target_qt.conf file contained a wrong HostData value if the effective data dirs were set to paths of different levels in the host and target Qt builds. Fix this by computing the relative path from the mkspec dir's parent to the ext prefix' data dir. Note that qmake's HostData dir is the root directory of the mkspecs directory. Pick-to: 6.4 Task-number: QTBUG-106712 Change-Id: Id8c9de925f5ff51901677b7218621747169a5cec Reviewed-by: Alexandru Croitor --- cmake/QtQmakeHelpers.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/QtQmakeHelpers.cmake b/cmake/QtQmakeHelpers.cmake index f1de0987af..1720772bf2 100644 --- a/cmake/QtQmakeHelpers.cmake +++ b/cmake/QtQmakeHelpers.cmake @@ -98,7 +98,8 @@ function(qt_generate_qmake_and_qtpaths_wrapper_for_target) "${host_prefix}") file(RELATIVE_PATH ext_prefix_relative_to_conf_file "${ext_prefix}/${INSTALL_BINDIR}" "${ext_prefix}") - file(RELATIVE_PATH ext_prefix_relative_to_host_prefix "${host_prefix}" "${ext_prefix}") + file(RELATIVE_PATH ext_datadir_relative_to_host_prefix "${host_prefix}" + "${ext_prefix}/${INSTALL_MKSPECSDIR}/..") set(content "") @@ -130,7 +131,7 @@ Prefix=${prefix} "[Paths] Prefix=${ext_prefix_relative_to_conf_file} HostPrefix=${host_prefix_relative_to_conf_file} -HostData=${ext_prefix_relative_to_host_prefix} +HostData=${ext_datadir_relative_to_host_prefix} Sysroot=${sysroot} SysrootifyPrefix=${sysrootify_prefix} TargetSpec=${QT_QMAKE_TARGET_MKSPEC}