Split generator @BASENAME@ at the first extension. (cherry picked from commit 779788ad82166db028488f68ec90258d4ca63c7d)
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 1ef183b..23a5f4c 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py
@@ -733,14 +733,14 @@ def get_base_outnames(self, inname): plainname = os.path.split(inname)[1] - basename = plainname.split('.')[0] + basename = os.path.splitext(plainname)[0] return [x.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname) for x in self.outputs] def get_dep_outname(self, inname): if self.depfile is None: raise InvalidArguments('Tried to get dep name for rule that does not have dependency file defined.') plainname = os.path.split(inname)[1] - basename = plainname.split('.')[0] + basename = os.path.splitext(plainname)[0] return self.depfile.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname) def get_arglist(self):
diff --git a/test cases/common/118 allgenerate/meson.build b/test cases/common/118 allgenerate/meson.build index 1ec93e6..36abbe9 100644 --- a/test cases/common/118 allgenerate/meson.build +++ b/test cases/common/118 allgenerate/meson.build
@@ -5,7 +5,7 @@ comp = find_program('converter.py') g = generator(comp, - output : '@BASENAME@.cpp', + output : '@BASENAME@', arguments : ['@INPUT@', '@OUTPUT@']) c = g.process('foobar.cpp.in') @@ -17,4 +17,4 @@ input : 'foobar.cpp.in', command : [comp, '@INPUT@', '@OUTPUT@']) -prog2 = executable('genexe2', c2) \ No newline at end of file +prog2 = executable('genexe2', c2)