簡體   English   中英

將簡單目標添加到cmake生成的makefile

[英]Add simple target to cmake generated makefile

TL; DR:如何使cmake在生成的makefile中輸出以下規則?

.PHONY: target-I-want
target-I-want:
  echo "Hello World"

嗨,

我習慣用自己的makefile設置項目以運行它可能需要的任何類型的腳本。

我現在正在使用的項目是使用cmake構建的,所以我不能只創建自己的makefile,因為它將被cmake生成的文件覆蓋。

我正在用一個不同的名稱(例如makefile.dev設置自己的makefile,但是由於我make -f makefile.dev target-I-want每次都運行make -f makefile.dev target-I-want ,因此我認為add_custom_target可以為我提供幫助。

這就是我添加到CMakeLists.txt中的內容:

ADD_CUSTOM_TARGET(target-I-want
  COMMAND make -f ${CMAKE_CURRENT_SOURCE_DIR}/makefile.dev target-I-want
)

而且有效。 但是,當我運行它時,它確實比運行我想要的命令要make -f ${CMAKE_CURRENT_SOURCE_DIR}/makefile.dev target-I-wantmake -f ${CMAKE_CURRENT_SOURCE_DIR}/makefile.dev target-I-want ),例如檢查cmake構建系統並進行大量操作。自動生成的目標。

我想知道是否有一種方法可以像我寫的一樣添加我想要的命令,而沒有其他功能。

我沒有看到命令可以將任意文本插入到生成的Makefile中。

根據您的評論,您需要讓CMake生成不包含使用CMake可執行文件本身的自定義目標。 盡管可以禁止重新生成Makefile和顯示詳細的狀態消息,但自定義目標仍在生成的Makefile的總體框架中使用CMake可執行文件。

如果您確實不想輸入make -f makefile.dev target-I-want那么您將不得不找到一種替代方法,例如設置別名,調用該命令的腳本或將任意文本附加到CMake生成的頂級Makefile。

暫無
暫無

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

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