有没有办法将 CMake 脚本中的变量设置为 shell 命令的输出?SET(FOO COMMAND "echo bar")
会想到类似的东西
问问题
36068 次
1 回答
96
你想要execute_process
命令。
在您的情况下,在 Windows 上:
execute_process(COMMAND CMD /c echo bar OUTPUT_VARIABLE FOO)
或者在 Linux 上,简单地说:
execute_process(COMMAND echo bar OUTPUT_VARIABLE FOO)
在这种特殊情况下,CMake 提供了一个跨平台的解决方案。CMake 本身可用于运行可在所有系统上使用的命令,其中之一是echo
. 为此,应将 CMake 传递给命令行 arg -E
。有关此类命令的完整列表,请运行cmake -E help
在 CMake 脚本中,CMake 可执行文件由 引用${CMAKE_COMMAND}
,因此脚本需要执行以下操作:
execute_process(COMMAND ${CMAKE_COMMAND} -E echo bar OUTPUT_VARIABLE FOO)
于 2012-10-23T19:26:08.950 回答