![](/img/trans.png)
[英]How to compile a subset of all targets in a CMake-generated Makefile that start with a given prefix in a bash for loop
[英]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-want
( make -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.