aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorAlberto Aguirre <alberto.aguirre@canonical.com>2017-04-14 08:18:37 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2017-05-08 20:53:57 +0200
commitccab7d64f474f00e010b2c6601e63d8034c5552a (patch)
tree2007c7528dd669cb70195aa2ec5524cf300b0359 /mesonbuild/backend/ninjabackend.py
parent1882548f056a49945de2c3b4b7d57d283cecb012 (diff)
downloadmeson-ccab7d64f474f00e010b2c6601e63d8034c5552a.zip
meson-ccab7d64f474f00e010b2c6601e63d8034c5552a.tar.gz
meson-ccab7d64f474f00e010b2c6601e63d8034c5552a.tar.bz2
Add support for @CURRENT_SOURCE_DIR@ in generator arguments
Allow users to specify @CURRENT_SOURCE_DIR@ in generator arguments to specify the current target source directory. This is useful when creating protobuf generator objects in sub-directories because protoc will then generate files in the expected location. Fixes #1622. Remove stray semicolon Update documentation
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index dad752b..f4c78a1 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1660,6 +1660,7 @@ rule FORTRAN_DEP_HACK
outfilelist = genlist.get_outputs()
base_args = generator.get_arglist()
extra_dependencies = [os.path.join(self.build_to_src, i) for i in genlist.extra_depends]
+ source_target_dir = self.get_target_source_dir(target)
for i in range(len(infilelist)):
if len(generator.outputs) == 1:
sole_output = os.path.join(self.get_target_private_dir(target), outfilelist[i])
@@ -1686,6 +1687,7 @@ rule FORTRAN_DEP_HACK
relout = self.get_target_private_dir(target)
args = [x.replace("@SOURCE_DIR@", self.build_to_src).replace("@BUILD_DIR@", relout)
for x in args]
+ args = [x.replace("@CURRENT_SOURCE_DIR@", source_target_dir) for x in args]
args = [x.replace("@SOURCE_ROOT@", self.build_to_src).replace("@BUILD_ROOT@", '.')
for x in args]
cmdlist = exe_arr + self.replace_extra_args(args, genlist)