From 4082732b32dfb2b99fbb073db14c9d3ef6f98ebf Mon Sep 17 00:00:00 2001 From: Iikka Eklund Date: Thu, 17 Mar 2022 14:01:33 +0200 Subject: [PATCH] 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 (cherry picked from commit 878984a014154f6ab2f92c223c61a44e02c74aec) Reviewed-by: Qt Cherry-pick Bot --- conanfile.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/conanfile.py b/conanfile.py index 0e96f5d28fb..57f54ded232 100644 --- a/conanfile.py +++ b/conanfile.py @@ -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