簡體   English   中英

CMake配置文件構建規則

[英]CMake Configure File Build Rule

我將CMake用於我的構建系統,在項目中,我們將有一堆配置文件。 其中有些只需要復制,有些則需要每台計算機進行修改。 我目前正在使用CMake的“ configure_file”命令復制/替換文件的某些部分。 這很好用,我喜歡如何在配置例程中使用CMake中的任何變量。

但是,如果您更改原始文件,CMake將不會選擇此文件,而您必須重新運行cmake才能配置目錄。 當我運行“ make”時,我希望它拾取我已更改的文件並重新運行配置。

即使被覆蓋的文件是較新的,它也會始終重新配置文件。 我希望它充當自定義目標。

我想我可以使用add_custom_command做到這一點,但是我認為我不能從add_custom_command運行CMake命令。 那么,是否有任何方法可以復制configure_file在CMake中的行為?

我最近升級到CMake 2.8。 似乎它自動具有我想要的確切行為。

我認為這沒有一個簡單的答案。 我看到兩個選擇:

  1. 要在輸入更改時觸發cmake的重新運行,您也許可以使輸入文件依賴CMakeLists.txt

  2. 為了將cmake命令作為and add_custom_command一部分運行,有一個變量${CMAKE_COMMAND} ,它將為您提供運行cmake的路徑。 作為配置步驟的一部分,您可以生成使用-P選項調用的CMake代碼片段(調用configure_file )。 使用-D在命令行上傳遞替換,或將它們寫入CMake片段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM