在CMake中转义美元符号>>

问题描述 投票:5回答:2

我正在尝试通过以下方式在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 ; 

我试图在不逃脱美元符号的情况下尝试这样做,但是却导致了同样的问题。双斜杠也不起作用。现在我很困惑...

您能建议一种运行使用美元符号的命令的方法吗?

P.S。这只是一个例子。我的实际命令稍微复杂些,我认为如果不使用美元符号就无法解决。

我正在尝试通过以下方式在CMake 3.1.1中运行发布后命令:ADD_CUSTOM_COMMAND(在`ls *`\中为i定位我的目标POST_BUILD命令;回显\ $ i \;完成\;但是,$ i变量是...

cmake escaping post-build-event dollar-sign
2个回答
7
投票

您应使用带有两个美元符号的'make'样式转义符:

ADD_CUSTOM_COMMAND(
   TARGET mytarget
    POST_BUILD
    COMMAND for i in `ls *` \; do echo $$i \; done \;
)

0
投票

使用方括号引号:

© www.soinside.com 2019 - 2024. All rights reserved.