我想在编译时生成使用CMake变量的小脚本(4行代码)。我的第一种方法是使用add_custom_command
,echo >>
作为COMMAND
。但由于CMake不喜欢长字符串,因此很难动态生成文件内容。
所以,我的第二种方法现在是使用configure_file
。但是现在这一代是在配置步骤完成的。有没有办法在编译时配置文件?也许在文件上放一个自定义目标或类似的东西?或者,如果没有,是否有更好的方法将更长的行写入CMake文件?
感谢。
编辑:脚本没有什么特别之处,他们只是使用$ {PROJECT_NAME}变量等。我想在构建时生成它们,因为如果删除生成编译时间的文件,除非你强制使用cmake,否则它不会被重新生成配置。现在我正试图用add_custom_target
+ add_custom_command
解决这个问题,其中命令是写入文件的外部sh脚本,但不管怎样,除非依赖于ALL,否则永远不会构建目标。 / p>