qt: fix qt 6 tools detection for pkg-config

Add correct reading of pkgconfig-announced bindir and
pkgconfig-announced libexecdir. Will work only on 6.3+
pull/10612/head
Konstantin 2 years ago committed by Eli Schwartz
parent 2f079be996
commit 49ccf8124a
No known key found for this signature in database
GPG Key ID: CEB167EFB5722BD6
  1. 22
      mesonbuild/dependencies/qt.py

@ -223,11 +223,18 @@ class QtPkgConfigDependency(_QtBase, PkgConfigDependency, metaclass=abc.ABCMeta)
if prefix: if prefix:
self.bindir = os.path.join(prefix, 'bin') self.bindir = os.path.join(prefix, 'bin')
self.libexecdir = self.get_pkgconfig_host_libexecs(self)
@staticmethod @staticmethod
@abc.abstractmethod @abc.abstractmethod
def get_pkgconfig_host_bins(core: PkgConfigDependency) -> T.Optional[str]: def get_pkgconfig_host_bins(core: PkgConfigDependency) -> T.Optional[str]:
pass pass
@staticmethod
@abc.abstractmethod
def get_pkgconfig_host_libexecs(core: PkgConfigDependency) -> T.Optional[str]:
pass
@abc.abstractmethod @abc.abstractmethod
def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]: def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]:
pass pass
@ -405,6 +412,10 @@ class Qt4PkgConfigDependency(QtPkgConfigDependency):
def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]: def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]:
return [] return []
@staticmethod
def get_pkgconfig_host_libexecs(core: PkgConfigDependency) -> str:
return None
class Qt5PkgConfigDependency(QtPkgConfigDependency): class Qt5PkgConfigDependency(QtPkgConfigDependency):
@ -412,6 +423,10 @@ class Qt5PkgConfigDependency(QtPkgConfigDependency):
def get_pkgconfig_host_bins(core: PkgConfigDependency) -> str: def get_pkgconfig_host_bins(core: PkgConfigDependency) -> str:
return core.get_pkgconfig_variable('host_bins', [], None) return core.get_pkgconfig_variable('host_bins', [], None)
@staticmethod
def get_pkgconfig_host_libexecs(core: PkgConfigDependency) -> str:
return None
def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]: def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]:
return _qt_get_private_includes(mod_inc_dir, module, self.version) return _qt_get_private_includes(mod_inc_dir, module, self.version)
@ -420,7 +435,12 @@ class Qt6PkgConfigDependency(QtPkgConfigDependency):
@staticmethod @staticmethod
def get_pkgconfig_host_bins(core: PkgConfigDependency) -> str: def get_pkgconfig_host_bins(core: PkgConfigDependency) -> str:
return core.get_pkgconfig_variable('host_bins', [], None) return core.get_pkgconfig_variable('bindir', [], None)
@staticmethod
def get_pkgconfig_host_libexecs(core: PkgConfigDependency) -> str:
# Qt6 pkg-config for Qt defines libexecdir from 6.3+
return core.get_pkgconfig_variable('libexecdir', [], None)
def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]: def get_private_includes(self, mod_inc_dir: str, module: str) -> T.List[str]:
return _qt_get_private_includes(mod_inc_dir, module, self.version) return _qt_get_private_includes(mod_inc_dir, module, self.version)

Loading…
Cancel
Save