3

如何cp从 Meson 构建脚本运行 shell 命令(例如,复制)?

我试过这段代码:

r = run_command('cp', 'test.txt', 'test2.txt')

if r.returncode() != 0
  warning('Command failed')
endif

但它什么也没做。
run_command成功运行(返回 0),但没有复制文件。
如果我用 替换cpcp3我会收到来自 Meson 的错误消息,该过程终止并且它甚至没有到达下一行。
如果我替换test.txttest0.txt,我会从脚本中收到一条错误消息。

所以脚本运行正常,但命令在文件系统上没有留下任何痕迹。

run_command从 Meson 运行 shell 命令的唯一方法吗?我究竟做错了什么?


参考: https ://mesonbuild.com/External-commands.html

4

1 回答 1

4

该命令从未指定的目录运行,因此,请尝试指定完整的文件名,例如:

source = join_paths(meson.source_root(), 'test.txt')
dest = join_paths(meson.build_root(), 'test2.txt')
message('copying @0@ to @1@ ...'.format(source, dest))
r = run_command('cp', source, dest)
于 2018-10-03T21:29:25.060 回答