diff options
author | Matthew Bekkema <mbekkema97@gmail.com> | 2015-04-14 22:19:36 +1000 |
---|---|---|
committer | Matthew Bekkema <mbekkema97@gmail.com> | 2015-04-14 22:30:57 +1000 |
commit | 8a08066c68f52fb755bca90090c090fed07e53c2 (patch) | |
tree | d8492864552258325463251a8694f12e0135137e /dependencies.py | |
parent | f19fd507022635c7acb7c45075ae4ba75d5970b8 (diff) | |
download | meson-8a08066c68f52fb755bca90090c090fed07e53c2.zip meson-8a08066c68f52fb755bca90090c090fed07e53c2.tar.gz meson-8a08066c68f52fb755bca90090c090fed07e53c2.tar.bz2 |
dependencies.py: Add support for wxwidgets modules
Makes this possible in meson.build:
wxd = dependency('wxwidgets', modules: ['core', 'base'])
This does not change the behaviour of not specifying a module list. Eg:
wxd = dependency('wxwidgets')
Diffstat (limited to 'dependencies.py')
-rw-r--r-- | dependencies.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/dependencies.py b/dependencies.py index 50c53d9..9d0f3da 100644 --- a/dependencies.py +++ b/dependencies.py @@ -174,6 +174,7 @@ class WxDependency(Dependency): return mlog.log('Dependency wxwidgets found:', mlog.green('YES')) self.is_found = True + self.requested_modules = self.get_requested(kwargs) # wx-config seems to have a cflags as well but since it requires C++, # this should be good, at least for now. p = subprocess.Popen([self.wxc, '--cxxflags'], stdout=subprocess.PIPE, @@ -183,13 +184,25 @@ class WxDependency(Dependency): raise RuntimeError('Could not generate cargs for wxwidgets.') self.cargs = out.decode().split() - p = subprocess.Popen([self.wxc, '--libs'], stdout=subprocess.PIPE, - stderr=subprocess.PIPE) + p = subprocess.Popen([self.wxc, '--libs'] + self.requested_modules, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = p.communicate()[0] if p.returncode != 0: raise RuntimeError('Could not generate libs for wxwidgets.') self.libs = out.decode().split() + def get_requested(self, kwargs): + modules = 'modules' + if not modules in kwargs: + return [] + candidates = kwargs[modules] + if isinstance(candidates, str): + return [candidates] + for c in candidates: + if not isinstance(c, str): + raise DependencyException('wxwidgets module argument is not a string.') + return candidates + def get_modversion(self): return self.modversion |