diff options
author | Nicolas Schneider <nioncode+git@gmail.com> | 2016-03-29 12:07:21 +0200 |
---|---|---|
committer | Nicolas Schneider <nioncode+git@gmail.com> | 2016-03-29 12:08:34 +0200 |
commit | a33d9d56cf72e493e2176b33e95afa8921f26e06 (patch) | |
tree | 33f5a61942f813c9720b0b4e93fef9f2a357737d /mesonbuild | |
parent | c2a9f81b68ce5d5370a6eff5df1fa678fc59fb17 (diff) | |
download | meson-a33d9d56cf72e493e2176b33e95afa8921f26e06.zip meson-a33d9d56cf72e493e2176b33e95afa8921f26e06.tar.gz meson-a33d9d56cf72e493e2176b33e95afa8921f26e06.tar.bz2 |
vs2010: support EXTRA_ARGS for generators
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/backend/backends.py | 9 | ||||
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 8 | ||||
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 2 |
3 files changed, 11 insertions, 8 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 8d0b0f6..bcd8913 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -388,6 +388,15 @@ class Backend(): exe_arr = exe.get_command() return exe_arr + def replace_extra_args(self, args, genlist): + final_args = [] + for a in args: + if a == '@EXTRA_ARGS@': + final_args += genlist.get_extra_args() + else: + final_args.append(a) + return final_args + def eval_custom_target_command(self, target, absolute_paths=False): if not absolute_paths: ofilenames = [os.path.join(self.get_target_dir(target), i) for i in target.output] diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 8e8fa42..8c39024 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1349,13 +1349,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] - final_args = [] - for a in args: - if a == '@EXTRA_ARGS@': - final_args += genlist.get_extra_args() - else: - final_args.append(a) - cmdlist = exe_arr + final_args + cmdlist = exe_arr + self.replace_extra_args(args, genlist) elem = NinjaBuildElement(self.all_outputs, outfiles, 'CUSTOM_COMMAND', infilename) if len(extra_dependencies) > 0: elem.add_dep(extra_dependencies) diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index c81e44b..3f6c534 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -68,7 +68,7 @@ class Vs2010Backend(backends.Backend): for x in base_args] args = [x.replace("@SOURCE_DIR@", self.environment.get_source_dir()).replace("@BUILD_DIR@", target_private_dir) for x in args] - fullcmd = exe_arr + args + fullcmd = exe_arr + self.replace_extra_args(args, genlist) commands.append(' '.join(self.special_quote(fullcmd))) inputs.append(infilename) outputs.extend(outfiles) |