aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2018-05-19 13:36:04 +0100
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-03 21:06:23 +0000
commit7e08e958c0e3cdf7e6769027d8eeff5925b69d73 (patch)
tree38ca4d11be72f46402a0815fff12fa73174cb49e /mesonbuild/build.py
parent50aabc01293afc4778a7c881ffa0c3a531c39dbe (diff)
downloadmeson-7e08e958c0e3cdf7e6769027d8eeff5925b69d73.zip
meson-7e08e958c0e3cdf7e6769027d8eeff5925b69d73.tar.gz
meson-7e08e958c0e3cdf7e6769027d8eeff5925b69d73.tar.bz2
Allow substitutions in custom_target() depfile:
Allow substitutions in custom_target() depfile: as well as in command:
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 1e7f5fe..c5e50da 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1835,6 +1835,18 @@ class CustomTarget(Target):
def get_generated_sources(self):
return self.get_generated_lists()
+ def get_dep_outname(self, infilenames):
+ if self.depfile is None:
+ raise InvalidArguments('Tried to get depfile name for custom_target that does not have depfile defined.')
+ if len(infilenames):
+ plainname = os.path.basename(infilenames[0])
+ basename = os.path.splitext(plainname)[0]
+ return self.depfile.replace('@BASENAME@', basename).replace('@PLAINNAME@', plainname)
+ else:
+ if '@BASENAME@' in self.depfile or '@PLAINNAME@' in self.depfile:
+ raise InvalidArguments('Substitution in depfile for custom_target that does not have an input file.')
+ return self.depfile
+
def type_suffix(self):
return "@cus"