diff --git a/bin/BuildSystem/Qt5CoreBuildSystem.py b/bin/BuildSystem/Qt5CoreBuildSystem.py index 1ff54df7d..1fff1e951 100644 --- a/bin/BuildSystem/Qt5CoreBuildSystem.py +++ b/bin/BuildSystem/Qt5CoreBuildSystem.py @@ -1,25 +1,42 @@ # # copyright (c) 2012 Hannah von Reth # # definitions for the qt5 modules from BuildSystem.QMakeBuildSystem import * from CraftStandardDirs import CraftStandardDirs class Qt5CoreBuildSystem(QMakeBuildSystem): def __init__(self): QMakeBuildSystem.__init__(self) + + def _qtCoreEnv(self): + env = {} + if CraftCore.compiler.isMacOS: + # we need mac's version of libtool here + env["PATH"] = os.pathsep.join(["/usr/bin/", os.environ["PATH"]]) + return env + + def configure(self, configureDefines=""): + with utils.ScopedEnv(self._qtCoreEnv()): + return super().configure(configureDefines) + + def make(self): + with utils.ScopedEnv(self._qtCoreEnv()): + return super().make() + def install(self, options=""): """implements the make step for Qt projects""" - options += f" INSTALL_ROOT={os.path.splitdrive(self.imageDir())[1]} " + self.makeOptions(self.subinfo.options.install.args) - if not QMakeBuildSystem.install(self, options): - return False - self._fixInstallPrefix() - - if OsUtils.isWin(): - if os.path.exists(os.path.join(self.installDir(), "bin", "mkspecs")): - utils.moveFile(os.path.join(self.installDir(), "bin", "mkspecs"), - os.path.join(self.installDir(), "mkspecs")) - return True + with utils.ScopedEnv(self._qtCoreEnv()): + options += f" INSTALL_ROOT={os.path.splitdrive(self.imageDir())[1]} " + self.makeOptions(self.subinfo.options.install.args) + if not super().install(options): + return False + self._fixInstallPrefix() + + if OsUtils.isWin(): + if os.path.exists(os.path.join(self.installDir(), "bin", "mkspecs")): + utils.moveFile(os.path.join(self.installDir(), "bin", "mkspecs"), + os.path.join(self.installDir(), "mkspecs")) + return True