2011-12-28 74 views
0

我安装使用cmake INSTALL命令cmake的安装命令后处理文件

我想使用cmake

例如

静态文件是有串状 v到后期处理输出文件的静态文件= {{VERSION}}

我想在输出文件中替换{{VERSION}}。

是否有可能通过CMake

回答

2

是的,但预处理通常在cmake调用的步骤进行,而不是在安装过程中。这是通过使用configure_file()命令完成的。

注意configure_file()仅支持${}@@替代值,所以如果你真的需要配置文件,{{}},你可能会使用CMake的命令file()编写自己的函数结束。

最后,您需要安装您配置的文件。一定要

install(FILES ${CMAKE_BINARY_DIR}/your.file) 

,不只是

install(FILES your.file) 

因为后者命令将安装源文件。

+0

有没有什么办法在多个文件或基于正则表达式使用configure_file。 我想更新目录中的所有* .txt文件 – 2011-12-29 16:43:11

+1

是的。您将需要使用'file(GLOB MY_FILES“* .txt”)'创建一个文件列表和'foreach(FILE $ {MY_FILES})'来为每个文件调用'configure_file()'。 – arrowd 2011-12-29 16:47:15