diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-01-30 15:28:02 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2019-02-01 00:14:09 +0530 |
commit | c0166355ceef5168b2f7b3c6cbace32e8dbafbb4 (patch) | |
tree | 5ad1f9694597e5d9536d098dbf211537a48b917c /mesonbuild/dependencies/ui.py | |
parent | 8481971ff2459ed34e2acb4ce4bb20d1efe6d215 (diff) | |
download | meson-c0166355ceef5168b2f7b3c6cbace32e8dbafbb4.zip meson-c0166355ceef5168b2f7b3c6cbace32e8dbafbb4.tar.gz meson-c0166355ceef5168b2f7b3c6cbace32e8dbafbb4.tar.bz2 |
Rewrite appleframework and extraframework dependency classes
Instead of only doing a naive filesystem search, also run the linker
so that it can tell us whether the -F path specified actually contains
the framework we're looking for.
Unfortunately, `extraframework` searching is still not 100% correct in
the case when since we want to search in either /Library/Frameworks or
in /System/Library/Frameworks but not in both. The -Z flag disables
searching in those prefixes and would in theory allow this, but then
you cannot force the linker to look in those by manually adding -F
args, so that doesn't work.
Diffstat (limited to 'mesonbuild/dependencies/ui.py')
-rw-r--r-- | mesonbuild/dependencies/ui.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py index dbdba9b..0585be9 100644 --- a/mesonbuild/dependencies/ui.py +++ b/mesonbuild/dependencies/ui.py @@ -177,13 +177,13 @@ def _qt_get_private_includes(mod_inc_dir, module, mod_version): os.path.join(private_dir, 'Qt' + module)) class QtExtraFrameworkDependency(ExtraFrameworkDependency): - def __init__(self, name, required, path, env, lang, kwargs): - super().__init__(name, required, path, env, lang, kwargs) + def __init__(self, name, required, paths, env, lang, kwargs): + super().__init__(name, required, paths, env, lang, kwargs) self.mod_name = name[2:] def get_compile_args(self, with_private_headers=False, qt_version="0"): if self.found(): - mod_inc_dir = os.path.join(self.path, self.name, 'Headers') + mod_inc_dir = os.path.join(self.framework_path, 'Headers') 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)] @@ -442,7 +442,7 @@ class QtBaseDependency(ExternalDependency): for m in modules: fname = 'Qt' + m - fwdep = QtExtraFrameworkDependency(fname, False, libdir, self.env, + fwdep = QtExtraFrameworkDependency(fname, False, [libdir], self.env, self.language, fw_kwargs) self.compile_args.append('-F' + libdir) if fwdep.found(): |