diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-03-15 22:13:11 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-03-15 22:13:11 +0200 |
commit | ecd46332af122772decfa1164d1cf688135a5b40 (patch) | |
tree | eda27a17491f4a94863e16cb0aec48b0cd56c575 /interpreter.py | |
parent | 7e9827704c20e989d40593ee3fc627da346d8fd3 (diff) | |
download | meson-ecd46332af122772decfa1164d1cf688135a5b40.zip meson-ecd46332af122772decfa1164d1cf688135a5b40.tar.gz meson-ecd46332af122772decfa1164d1cf688135a5b40.tar.bz2 |
Support for both basename and plainname in generators.
Diffstat (limited to 'interpreter.py')
-rwxr-xr-x | interpreter.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/interpreter.py b/interpreter.py index 878b460..ff1de6d 100755 --- a/interpreter.py +++ b/interpreter.py @@ -119,15 +119,16 @@ class Generator(InterpreterObject): rule = kwargs['output_name'] if not isinstance(rule, str): raise InvalidArguments('"output_name" keyword argument must be a string.') - if not '@BASENAME@' in rule: - raise InvalidArguments('"output_name" must contain @BASENAME@.') + if not '@BASENAME@' in rule and not '@PLAINNAME@' in rule: + raise InvalidArguments('"output_name" must contain @BASENAME@ or @PLAINNAME@.') if '/' in rule: raise InvalidArguments('"output_name" must not contain a slash.') self.name_rule = rule def get_base_outname(self, inname): - base = os.path.split(inname)[1] - return self.name_rule.replace('@BASENAME@', base) + plainname = os.path.split(inname)[1] + basename = plainname.split('.')[0] + return self.name_rule.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname) def process_method(self, args, kwargs): if len(kwargs) > 0: |