【发布时间】:2013-06-20 00:28:57
【问题描述】:
我想把文件内容变成一个参数。参数转到正在测试的可执行文件。这就是我所拥有的
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ --arg1\ input
)
我想将参数放在一个文件中,并将其作为输入提供给可执行文件。我想要这样的东西:
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ $(cat ${ARGS_file})
)
或者像这样
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ `cat ${ARGS_file}`
)
或者像这样
ADD_TEST (
NAME ${ARGV0}
COMMAND
${DIR}/script.sh
${executable}\ $(< ${ARGS_file})
)
以上三个代码都不起作用。当我在 CMake 之外尝试它们时,它们运行良好。但在 CMake 内部它们不起作用。
【问题讨论】:
-
CMake 不使用 shell 来评估参数。如果您想要这种行为并且您确定您只在 linux 上运行,您可以尝试这样的操作: COMMAND bash -c "${executable} $(cat ${ARGS_file})" 像这样评估传递给 bash再次。