aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2020-02-16 20:52:58 +0100
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2020-02-24 01:48:47 +0530
commitecad370fe9eb321e0f4bd8610a55f5fecbe455ec (patch)
tree836f8659652ddd640b43e592c4b3e4a6860ff378
parent29d5f5d17a979f43dfd3c276b074333e2f5bf7ce (diff)
downloadmeson-ecad370fe9eb321e0f4bd8610a55f5fecbe455ec.zip
meson-ecad370fe9eb321e0f4bd8610a55f5fecbe455ec.tar.gz
meson-ecad370fe9eb321e0f4bd8610a55f5fecbe455ec.tar.bz2
cmake: traceparser better handle lists
-rw-r--r--mesonbuild/cmake/traceparser.py7
-rw-r--r--test cases/cmake/8 custom command/subprojects/cmMod/CMakeLists.txt4
2 files changed, 6 insertions, 5 deletions
diff --git a/mesonbuild/cmake/traceparser.py b/mesonbuild/cmake/traceparser.py
index 2005825..f024b0c 100644
--- a/mesonbuild/cmake/traceparser.py
+++ b/mesonbuild/cmake/traceparser.py
@@ -264,7 +264,7 @@ class CMakeTraceParser:
target = CMakeGeneratorTarget(name)
def handle_output(key: str, target: CMakeGeneratorTarget) -> None:
- target.outputs += [key]
+ target.outputs += key.split(';')
def handle_command(key: str, target: CMakeGeneratorTarget) -> None:
if key == 'ARGS':
@@ -272,7 +272,7 @@ class CMakeTraceParser:
target.command[-1] += key.split(';')
def handle_depends(key: str, target: CMakeGeneratorTarget) -> None:
- target.depends += [key]
+ target.depends += key.split(';')
def handle_working_dir(key: str, target: CMakeGeneratorTarget) -> None:
if target.working_dir is None:
@@ -423,7 +423,8 @@ class CMakeTraceParser:
if not target:
return self._gen_exception('add_dependencies', 'target not found', tline)
- target.depends += args[1:]
+ for i in args[1:]:
+ target.depends += i.split(';')
def _cmake_target_compile_definitions(self, tline: CMakeTraceLine) -> None:
# DOC: https://cmake.org/cmake/help/latest/command/target_compile_definitions.html
diff --git a/test cases/cmake/8 custom command/subprojects/cmMod/CMakeLists.txt b/test cases/cmake/8 custom command/subprojects/cmMod/CMakeLists.txt
index 8a6ab67..70ac236 100644
--- a/test cases/cmake/8 custom command/subprojects/cmMod/CMakeLists.txt
+++ b/test cases/cmake/8 custom command/subprojects/cmMod/CMakeLists.txt
@@ -22,7 +22,7 @@ add_custom_command(
COMMAND mycpy cpyBase.cpp.in cpyBase.cpp.something
COMMAND mycpy cpyBase.cpp.something cpyBase.cpp.IAmRunningOutOfIdeas
COMMAND mycpy cpyBase.cpp.IAmRunningOutOfIdeas cpyBase.cpp
- DEPENDS cpyBase.cpp.am gen
+ DEPENDS cpyBase.cpp.am;gen
)
add_custom_command(
@@ -124,4 +124,4 @@ add_custom_target(args_test_cmd
add_custom_target(macro_name_cmd COMMAND macro_name)
add_dependencies(cmModLib args_test_cmd)
-add_dependencies(args_test_cmd macro_name_cmd)
+add_dependencies(args_test_cmd macro_name_cmd;gen;mycpy)