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.

Pick-to: 6.2 6.3 6.3.0
Change-Id: Ia338105ccb4a203796864304f463b222163c5193
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Iikka Eklund 2022-03-17 14:01:33 +02:00
parent 7c9afa8d00
commit 878984a014

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