【发布时间】:2021-03-16 13:16:48
【问题描述】:
我不知道在 Linux 上的 Cmake 的构建后步骤中运行 shell 命令的正确语法。我可以做一个简单的echo 工作,但是当我想例如遍历所有文件和echo 那些,我得到一个错误。
以下作品:
add_custom_command(TARGET ${MY_LIBRARY_NAME}
POST_BUILD
COMMAND echo Hello world!
USES_TERMINAL)
这会正确打印Hello world!。
但现在我想遍历所有 .obj 文件并打印它们。我认为我应该这样做:
add_custom_command(TARGET ${MY_LIBRARY_NAME}
POST_BUILD
COMMAND for file in *.obj; do echo @file ; done
VERBATIM
USES_TERMINAL)
但这会产生以下错误:
/bin/sh: 1: Syntax error: end of file unexpected
我尝试了各种带引号或以sh 开头的组合,但似乎都不起作用。我怎样才能正确地做到这一点?
【问题讨论】:
-
$file或bash -c "$(for file in *.obj; do echo $file ; done)"
标签: linux shell cmake post-build