aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-02-05 09:24:32 -0800
committerDylan Baker <dylan@pnwbakers.com>2020-02-05 09:24:32 -0800
commit235b7a69e7cc0aca2c39722273ba2e1934c6aa14 (patch)
tree0a96767de327993341d3e6a801d6b5fd610257a7
parentf3773fa5c6e63ec8e1984b6afe40a824fb02cbaa (diff)
downloadmeson-235b7a69e7cc0aca2c39722273ba2e1934c6aa14.zip
meson-235b7a69e7cc0aca2c39722273ba2e1934c6aa14.tar.gz
meson-235b7a69e7cc0aca2c39722273ba2e1934c6aa14.tar.bz2
dependencies/ui: Honor static argument with wxwidgets
Fixes #6564
-rw-r--r--mesonbuild/dependencies/ui.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
index 35bbcd5..11d6e88 100644
--- a/mesonbuild/dependencies/ui.py
+++ b/mesonbuild/dependencies/ui.py
@@ -538,10 +538,22 @@ class WxDependency(ConfigToolDependency):
if not self.is_found:
return
self.requested_modules = self.get_requested(kwargs)
+
+ extra_args = []
+ if self.static:
+ extra_args.append('--static=yes')
+
+ # Check to make sure static is going to work
+ err = Popen_safe(self.config + extra_args)[2]
+ if 'No config found to match' in err:
+ mlog.debug('WxWidgets is missing static libraries.')
+ self.is_found = False
+ return
+
# wx-config seems to have a cflags as well but since it requires C++,
# this should be good, at least for now.
- self.compile_args = self.get_config_value(['--cxxflags'] + self.requested_modules, 'compile_args')
- self.link_args = self.get_config_value(['--libs'] + self.requested_modules, 'link_args')
+ self.compile_args = self.get_config_value(['--cxxflags'] + extra_args + self.requested_modules, 'compile_args')
+ self.link_args = self.get_config_value(['--libs'] + extra_args + self.requested_modules, 'link_args')
@staticmethod
def get_requested(kwargs: T.Dict[str, T.Any]) -> T.List[str]: