1
我想将文件内容转换为参数。争论转到正在测试的可执行文件。这是我所拥有的如何在CMake宏的命令中运行命令
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操作系统上,你可以尝试这样的事: 命令的bash -c“$ {}执行$(猫$ {} ARGS_file)” 像本次的评测再次传递给bash。 – languitar