如何在CMake宏中的命令中运行命令

时间:2013-06-20 00:28:57

标签: bash shell cmake ctest

我想将文件内容转换为参数。该论点涉及正在测试的可执行文件。这就是我所拥有的

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中他们不起作用。

1 个答案:

答案 0 :(得分:0)

要获得更通用的方法,请使用execute_commandfile(WRITE <path> <contents>),然后使用include(<path>)