【发布时间】:2015-06-17 12:36:23
【问题描述】:
我正在尝试通过以下方式在 CMake 3.1.1 中运行构建后命令:
ADD_CUSTOM_COMMAND(
TARGET mytarget
POST_BUILD
COMMAND for i in `ls *` \; do echo \$i \; done \;
但是,尽管我避开了美元符号,但 $i 变量的计算结果为空。根据日志,命令被评估为:
for i in `ls *` ; do echo ; done ;
我尝试不转义美元符号,但它导致了同样的问题。双斜线也不起作用。现在我很困惑……
您能否建议一种方法来运行使用美元符号的命令?
附:这只是一个例子。我的实际命令稍微复杂一些,我认为不使用美元符号我无法解决。
【问题讨论】:
-
试试这个:echo \'$i'
-
这就是我得到的:解析字符串时在 .../CMakeLists.txt:210 处的 cmake 代码中的语法错误 \'$i'
-
在 bash 中,我们需要使用 echo 的 -e 选项进行转义才能生效。
-
不幸的是,即使在 CMake 编译级别也失败了
标签: cmake escaping post-build-event dollar-sign