2015-04-11 11 views
5

Próbuję uruchomić polecenie po kompilacji w CMake 3.1.1 poprzez:

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

jednak zmienna $ i jest oceniany nic chociaż uciec znak dolara. Według dzienników polecenie jest oceniana w celu:

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

Próbowałem bez ucieczki znak dolara, ale doprowadziło to do tego samego problemu. Double slash też nie działa. Teraz jestem zdziwiony ...

Czy możesz zaproponować sposób uruchomienia polecenia korzystającego ze znaków dolara?

P.S. To był tylko przykład. Moje rzeczywiste polecenie jest nieco bardziej skomplikowane i nie sądzę, abym mógł je rozwiązać bez używania znaków dolara.

+0

Spróbuj to: echo \ '$ i' – Kavish

+0

Otrzymuję: Błąd składniowy w kodzie cmake pod adresem .../CMakeLists.txt: 210 przy analizie łańcucha znaków \ '$ i' – Vyacheslav

+0

W bashie musimy użyć opcji -e opcji echo, aby uaktywnić funkcję escape. – Kavish

Odpowiedz

Powiązane problemy