summaryrefslogtreecommitdiffstats
path: root/cmake/QtQmakeHelpers.cmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2022-09-26 11:21:02 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2022-09-28 09:48:20 +0200
commitea92137e7624d4abd544d79be8faf99471bfd87b (patch)
treede225752792926bbfbbe3bcf6fef846ad10abb33 /cmake/QtQmakeHelpers.cmake
parentc3730ffa9228ba43f4b7c7ec518a7a47e981ff2e (diff)
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 <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtQmakeHelpers.cmake')
-rw-r--r--cmake/QtQmakeHelpers.cmake5
1 files 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}