我有一个带有自定义命令my_tool
的目标,可以接受任意数量的参数:
target.commands = my_tool.exe arg01 arg02 # works fine
如果我现在需要两次运行该命令......
target.commands = my_tool.exe arg01 arg02
target.commands += my_tool.exe another_arg01 another_arg02 # breaks
...对于该目标,第一个命令失败,因为第二个命令用作第一个命令的参数。如:当我输出第一个命令的参数时,它说:
ARGV[0]: my_tool.exe
ARGV[1]: arg01
ARGV[2]: arg02
ARGV[3]: my_tool.exe
ARGV[4]: another_arg01
ARGV[5]: another_arg02
如何添加第二个命令以便单独处理?
感谢您提供任何帮助或指示。 :)
答案 0 :(得分:0)
方式1
一种可能性是简单地使用两个单独的目标:
target1.commands = my_tool.exe arg01 arg02
target2.commands = my_tool.exe another_arg01 another_arg02
......让一个人依赖另一个人:
target1.depends = target2
方式2
另一种方法是在命令之间指定$$escape_expand(\n\t)
或&&
:
target.commands = my_tool.exe arg01 arg02 $$escape_expand(\n\t) my_tool.exe another_arg01 another_arg02
target.commands = my_tool.exe arg01 arg02 && my_tool.exe another_arg01 another_arg02
因此有很多方法可供选择。 :)