CMake的execute_process命令似乎只允许你执行一个进程 – 而不是你可以提供命令shell的任意一行.问题是,我想使用管道,文件描述符重定向等 – 这似乎是不可能的.替代方案对我来说非常痛苦(我认为)……
我该怎么办?
PS – CMake 2.8和3.x答案很有趣.
你可以执行任何shell脚本 – 只需用字符串中的shell脚本执行你的shell(例如bash),例如:
原文链接:https://www.f2er.com/bash/386944.htmlexecute_process(COMMAND bash "-c" "echo -n hello | sed 's/hello/world/;'" OUTPUT_VARIABLE FOO)
将导致FOO包含世界.
当然,你需要谨慎地逃避引号和反斜杠.还要记住,运行bash只适用于有bash的平台 – 例如不是Windows.