2015-04-11 10 views
5

Ich versuche, einen Beitrag Build-Befehl in CMake 3.1.1 über auszuführen:

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

jedoch die $ i Variable wird ausgewertet, um nichts, obwohl ich das Dollarzeichen entkommen.

for i in `ls *` ; do echo ; done ; 

ich ohne Flucht aus dem Dollar-Zeichen versucht, aber es führte zu dem gleichen Problem: Nach Protokollen wird der Befehl an ausgewertet. Doppelter Schrägstrich hat auch nicht funktioniert. Jetzt bin ich verwirrt ...

Können Sie vorschlagen, einen Befehl auszuführen, der Dollarzeichen verwendet?

P.S. Dies war nur ein Beispiel. Mein tatsächlicher Befehl ist etwas komplizierter und ich denke nicht, dass ich es ohne Dollarzeichen ausarbeiten kann.

+0

Versuchen: echo \ 'i $' – Kavish

+0

Das bekomme ich: Syntaxfehler in cmake code unter .../CMakeLists.txt: 210 beim syntaktischen String \ '$ i' – Vyacheslav

+0

In Bash müssen wir -e Option des Echos für Escape zu verwenden. – Kavish

Antwort