diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-04-27 11:11:22 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2018-04-27 11:19:12 -0400 |
commit | 6de68e520141f73088f8b8aaeb39abc59661da6d (patch) | |
tree | 87517f8129e759d41ffb4871a9688f6ba03dae90 | |
parent | 5970f1be3c5299851f4e2c7e70e3f8c9975391ab (diff) | |
download | meson-6de68e520141f73088f8b8aaeb39abc59661da6d.zip meson-6de68e520141f73088f8b8aaeb39abc59661da6d.tar.gz meson-6de68e520141f73088f8b8aaeb39abc59661da6d.tar.bz2 |
Passing --default-library=both should override project value
Looks like this has always been broken, had_argument_for() was checking
if we have --default_library instead of --default-library.
-rw-r--r-- | mesonbuild/environment.py | 2 | ||||
-rwxr-xr-x | run_unittests.py | 10 | ||||
-rw-r--r-- | test cases/unit/30 command line/meson.build | 4 |
3 files changed, 14 insertions, 2 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py index 6920b8d..15b3737 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py @@ -373,7 +373,7 @@ class Environment: return is_library(fname) def had_argument_for(self, option): - trial1 = '--' + option + trial1 = coredata.get_builtin_option_cmdline_name(option) trial2 = '-D' + option previous_is_plaind = False for i in self.original_cmd_line_args: diff --git a/run_unittests.py b/run_unittests.py index 204fbfe..de383a4 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -2077,6 +2077,7 @@ recommended as it can lead to undefined behaviour on some platforms''') # Verify default values when passing no args self.init(testdir) obj = mesonbuild.coredata.load(self.builddir) + self.assertEqual(obj.builtins['default_library'].value, 'static') self.assertEqual(obj.builtins['warning_level'].value, '1') self.wipe() @@ -2110,6 +2111,15 @@ recommended as it can lead to undefined behaviour on some platforms''') self.assertIn('passed as both', e.stderr) self.wipe() + # --default-library should override default value from project() + self.init(testdir, extra_args=['--default-library=both']) + obj = mesonbuild.coredata.load(self.builddir) + self.assertEqual(obj.builtins['default_library'].value, 'both') + self.setconf('--default-library=shared') + obj = mesonbuild.coredata.load(self.builddir) + self.assertEqual(obj.builtins['default_library'].value, 'shared') + self.wipe() + class FailureTests(BasePlatformTests): ''' diff --git a/test cases/unit/30 command line/meson.build b/test cases/unit/30 command line/meson.build index 2ab21b6..1006f49 100644 --- a/test cases/unit/30 command line/meson.build +++ b/test cases/unit/30 command line/meson.build @@ -1 +1,3 @@ -project('command line test', 'c') +project('command line test', 'c', + default_options : ['default_library=static'] +) |