diff options
author | Nicolas Schneider <nioncode+git@gmail.com> | 2016-05-26 13:08:33 +0200 |
---|---|---|
committer | Nicolas Schneider <nioncode+git@gmail.com> | 2016-05-26 13:08:33 +0200 |
commit | a29d9c2c332bcf6147a6a87eeab408bc43fcd30b (patch) | |
tree | 51820af113b1c7070bb1b45f537ebe6abf05e7c5 /mesonbuild/backend/backends.py | |
parent | 7aa24c7d0a68959e4d29c41d157ee30ff97153ad (diff) | |
download | meson-a29d9c2c332bcf6147a6a87eeab408bc43fcd30b.zip meson-a29d9c2c332bcf6147a6a87eeab408bc43fcd30b.tar.gz meson-a29d9c2c332bcf6147a6a87eeab408bc43fcd30b.tar.bz2 |
vs: fix generators that use indexed output replacements (like @OUTPUT0@)
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index d4a0f99..4ff1553 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -433,6 +433,19 @@ class Backend(): final_args.append(a) return final_args + def replace_outputs(self, args, private_dir, output_list): + newargs = [] + regex = re.compile('@OUTPUT(\d+)@') + for arg in args: + m = regex.search(arg) + while m is not None: + index = int(m.group(1)) + src = '@OUTPUT%d@' % index + arg = arg.replace(src, os.path.join(private_dir, output_list[index])) + m = regex.search(arg) + newargs.append(arg) + return newargs + def get_custom_target_provided_libraries(self, target): libs = [] for t in target.get_generated_sources(): |