CMAKE install 命令后处理文件

Viv*_*oel 2 linux cmake

我正在使用 CMake 的INSTALL命令安装静态文件。我想使用 CMake 对输出文件进行后期处理。

例如,静态文件有一个像

v={{VERSION}}
Run Code Online (Sandbox Code Playgroud)

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

这可以用 CMake 吗?

arr*_*owd 5

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

请注意,configure_file()仅支持在${}or 中替换值@@,因此如果您确实需要使用 配置文件{{}},您最终可能会使用 CMake 命令编写自己的函数file()

最后,您需要安装配置文件。务必

install(FILES ${CMAKE_BINARY_DIR}/your.file)
Run Code Online (Sandbox Code Playgroud)

而不仅仅是

install(FILES your.file)
Run Code Online (Sandbox Code Playgroud)

因为后一个命令将安装您的源文件。