From dcbd46813b57289e5d115b2011bf1399312c7e8c Mon Sep 17 00:00:00 2001 From: Matthew Waters <matthew@centricular.com> Date: Tue, 22 Nov 2022 13:08:06 +1100 Subject: [PATCH] dependencies/qt: add support for Qt frameworks referencing includes in include directory e.g. QtQml with Qt 6.4.0 referencing QtQmlIntegration is one such example --- mesonbuild/dependencies/qt.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mesonbuild/dependencies/qt.py b/mesonbuild/dependencies/qt.py index e1e9e07..09731e5 100644 --- a/mesonbuild/dependencies/qt.py +++ b/mesonbuild/dependencies/qt.py @@ -103,9 +103,10 @@ def _get_modules_lib_suffix(version: str, info: 'MachineInfo', is_debug: bool) - class QtExtraFrameworkDependency(ExtraFrameworkDependency): - def __init__(self, name: str, env: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None): + def __init__(self, name: str, env: 'Environment', kwargs: T.Dict[str, T.Any], qvars: T.Dict[str, str], language: T.Optional[str] = None): super().__init__(name, env, kwargs, language=language) self.mod_name = name[2:] + self.qt_extra_include_directory = qvars['QT_INSTALL_HEADERS'] def get_compile_args(self, with_private_headers: bool = False, qt_version: str = "0") -> T.List[str]: if self.found(): @@ -113,6 +114,8 @@ class QtExtraFrameworkDependency(ExtraFrameworkDependency): args = ['-I' + mod_inc_dir] if with_private_headers: args += ['-I' + dirname for dirname in _qt_get_private_includes(mod_inc_dir, self.mod_name, qt_version)] + if self.qt_extra_include_directory: + args += ['-I' + self.qt_extra_include_directory] return args return [] @@ -359,7 +362,7 @@ class QmakeQtDependency(_QtBase, ConfigToolDependency, metaclass=abc.ABCMeta): for m in modules: fname = 'Qt' + m mlog.debug('Looking for qt framework ' + fname) - fwdep = QtExtraFrameworkDependency(fname, self.env, fw_kwargs, language=self.language) + fwdep = QtExtraFrameworkDependency(fname, self.env, fw_kwargs, qvars, language=self.language) if fwdep.found(): self.compile_args.append('-F' + libdir) self.compile_args += fwdep.get_compile_args(with_private_headers=self.private_headers, -- 2.37.0 (Apple Git-136)