Conan: Resolve the 'qt_host_path' before assigning it to 'QT_HOST_PATH' env

The value of the 'qt_host_path' option needs to be resolved fully
before assigning it to 'QT_HOST_PATH' env.

This icludes expanding ~ constructs, resolving symlinks, expanding vars
and relative paths.

Change-Id: Ia338105ccb4a203796864304f463b222163c5193
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 878984a014154f6ab2f92c223c61a44e02c74aec)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Iikka Eklund 2022-03-17 14:01:33 +02:00 committed by Qt Cherry-pick Bot
parent fafc38f6ae
commit 4082732b32

View File

@ -533,6 +533,14 @@ class QtBase(ConanFile):
def package_info(self):
self._shared.package_info(self)
if tools.cross_building(conanfile=self):
qt_host_path = self.options.get_safe("qt_host_path")
if qt_host_path is None:
raise QtConanError("Unable to cross-compile, 'qt_host_path' option missing?")
resolved_qt_host_path = str(
Path(os.path.expandvars(str(qt_host_path))).expanduser().resolve(strict=True)
)
self.env_info.QT_HOST_PATH.append(resolved_qt_host_path)
def package_id(self):
# https://docs.conan.io/en/latest/creating_packages/define_abi_compatibility.html