2011-12-28 73 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