假设我们要在CMake add_custom_command
中运行以下命令:
echo "#define FOO \"$(sh tools/foo.sh)\"" > foo.h
foo.sh 是由其他人维护的脚本,因此我们在此处无法轻松进行更改。
问题是,CMake不会评估\"$(sh tools/foo.sh)\"' in
add_costom_command`,而是直接将它们复制到 foo.h 中,这显然不是我们想要的。
在生成的 build.make 中,我发现了类似的内容:
echo "#define FOO \"\$$(sh tools/foo.sh)\"" > .../foo.h
CMake add_custom_command
COMMAND
的转义规则是什么?
如何在add_custom_command
COMMAND
中编写命令?