diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-08-02 20:57:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-02 20:57:10 +0300 |
commit | cba23413c58b2089ad752a358aafa3d06edaea4a (patch) | |
tree | 6387e8778cc619949ab9930b05da1b2ab6b95f3e /mesonbuild/cmake/traceparser.py | |
parent | 9a62d6932b847c9febdd31ccbcb9ff6061f640e6 (diff) | |
parent | 07f48851d0439471b50ffd09d2bb89f548ac3ae0 (diff) | |
download | meson-cba23413c58b2089ad752a358aafa3d06edaea4a.zip meson-cba23413c58b2089ad752a358aafa3d06edaea4a.tar.gz meson-cba23413c58b2089ad752a358aafa3d06edaea4a.tar.bz2 |
Merge pull request #5749 from mensinda/cmGenExp
CMake: Basic generator expression support
Diffstat (limited to 'mesonbuild/cmake/traceparser.py')
-rw-r--r-- | mesonbuild/cmake/traceparser.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/cmake/traceparser.py b/mesonbuild/cmake/traceparser.py index 6106d16..3a3f269 100644 --- a/mesonbuild/cmake/traceparser.py +++ b/mesonbuild/cmake/traceparser.py @@ -16,6 +16,7 @@ # or an interpreter-based tool. from .common import CMakeException +from .generator import parse_generator_expressions from .. import mlog from typing import List, Tuple, Optional @@ -448,7 +449,6 @@ class CMakeTraceParser: # The trace format is: '<file>(<line>): <func>(<args -- can contain \n> )\n' reg_tline = re.compile(r'\s*(.*\.(cmake|txt))\(([0-9]+)\):\s*(\w+)\(([\s\S]*?) ?\)\s*\n', re.MULTILINE) reg_other = re.compile(r'[^\n]*\n') - reg_genexp = re.compile(r'\$<.*>') loc = 0 while loc < len(trace): mo_file_line = reg_tline.match(trace, loc) @@ -466,9 +466,10 @@ class CMakeTraceParser: file = mo_file_line.group(1) line = mo_file_line.group(3) func = mo_file_line.group(4) - args = mo_file_line.group(5).split(' ') + args = mo_file_line.group(5) + args = parse_generator_expressions(args) + args = args.split(' ') args = list(map(lambda x: x.strip(), args)) - args = list(map(lambda x: reg_genexp.sub('', x), args)) # Remove generator expressions yield CMakeTraceLine(file, line, func, args) |