CMake的execute_process
command 似乎只让您执行一个进程 - 而不是您可以提供命令 shell 的任意行。问题是,我想使用管道、文件描述符重定向等 - 而这似乎是不可能的。另一种选择对我来说会很痛苦(我认为)......
我该怎么办?
PS - CMake 2.8 和 3.x 答案很有趣。
最佳答案
您可以执行任何 shell 脚本,使用您的 shell 支持在字符串参数中接收脚本。
例子:
execute_process(
COMMAND bash "-c" "echo -n hello | sed 's/hello/world/;'"
OUTPUT_VARIABLE FOO
)
将导致
FOO
包含world
.当然,您需要小心转义引号和反斜杠。还请记住,运行 bash 只能在具有 bash 的平台上运行 - 即它不能在 Windows 上运行。
关于shell - CMake 的 execute_process 和任意 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35689501/