aboutsummaryrefslogtreecommitdiff
path: root/dependencies.py
diff options
context:
space:
mode:
authorMatthew Bekkema <mbekkema97@gmail.com>2015-04-14 22:19:36 +1000
committerMatthew Bekkema <mbekkema97@gmail.com>2015-04-14 22:30:57 +1000
commit8a08066c68f52fb755bca90090c090fed07e53c2 (patch)
treed8492864552258325463251a8694f12e0135137e /dependencies.py
parentf19fd507022635c7acb7c45075ae4ba75d5970b8 (diff)
downloadmeson-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.py17
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