2012-12-04 65 views
1

我想用cmake添加自定義目標,但其中一些必須「無聲」,因爲它不是必需的。例如,對於乾淨的自定義命令:在cmake自定義目標中禁用自動消息

// In CMakeLists.txt 
add_custom_target(clean-temporaries 
    ${CMAKE_COMMAND} -P clean-temporaries.cmake 
    COMMENT "Deleting temporary files" 
) 

// clean-temporaries.cmake 
file(GLOB_RECURSE temporary_files "*[~#]") 
file(REMOVE ${temporary_files}) 

$ cmake . 
$ make clean-temporals 
[100%] Deleting temporary files 
[100%] Built target clean-temporaries 
$ make clean 
$ 

我們可以看到,CMake的準備「做乾淨」爲不顯示的消息,但是,我怎麼能到CMake的說,我不希望在一個自定義的目標的消息?

回答

0

嘗試在要從控制檯隱藏的命令的開頭添加減號。

-make clean 
0

爲了應對臨時文件亂拋垃圾的源代碼樹:

  • 鼓勵貢獻者來配置他們的編輯,這樣的臨時文件結束在一個公共目錄下的$HOME(如:vimemacs)。
  • 鼓勵貢獻者將他們的全局版本控制忽略文件配置爲始終忽略他們自己工作環境中的臨時文件(例如git:vim,emacs)。
  • 此外,還要排除每個項目的版本控制忽略文件中衆所周知的臨時文件模式,以便對尚未實施前兩個步驟的貢獻者保持友好。

如果這樣做,很可能您不必在構建系統中添加額外的「可選」(即高度環境特定)步驟,並且最終得到更一般適用的解決方案問題。

作爲您的示例代碼的額外評論,我會避免在源代碼樹中構建,並使用out-of-source builds代替。