我无法理解 CMake。我想要做的是在构建过程中执行以下 bash 命令:
date +"%F %T" > timestamp
这会获取当前日期并将其写入文件。但是,我似乎无法使用 CMake 命令重现这个简单的操作。
以下是我尝试过的一些事情:
execute_process(COMMAND "date +'%F %T' > timestamp")
add_custom_command(OUTPUT timestamp COMMAND date +"%F %T")
file(WRITE timestamp date +"%F %T")
两者似乎都不起作用。我几乎想知道他们是否真的被处决了。
我对 CMake 及其语法的了解非常有限,所以我可能做的事情非常错误。我希望有人能指出我正确的方向。谢谢!
我认为我的主要问题是命令参数周围缺少引号。另外,感谢@Mark Setchell,我意识到我应该使用OUTPUT_VARIABLE
替代OUTPUT
无论如何,这是我得出的答案:
execute_process (
COMMAND bash -c "date +'%F %T'"
OUTPUT_VARIABLE outVar
)
这会将 bash 命令的输出存储到变量中outVar
file(WRITE "datestamp" "${outVar}")
这写了内容outVar
到一个名为“datestamp”的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)