1

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 がメッセージを表示しないように "make clean" を準備していることがわかりますが、カスタム ターゲットにメッセージが表示されないようにする方法を CMake に伝えるにはどうすればよいでしょうか?

4

2 に答える 2

0

コンソールから非表示にするコマンドの先頭にマイナスを追加してみてください。

-make clean
于 2012-12-05T19:52:20.347 に答える
0

ソースツリーに散らばる一時ファイルを処理するには:

  • $HOME一時ファイルが最終的に各自の共通ディレクトリ(例: vimemacs )に配置されるように、貢献者にエディターを構成するよう奨励してください。
  • 貢献者に、自分の作業環境 (例: git: vimemacs ) の一時ファイルを常に無視するように、グローバル バージョン コントロールの無視ファイルを構成するよう奨励します。
  • さらに、各プロジェクトのバージョン管理の無視ファイルでよく知られている一時ファイル パターンを除外します。これは、前の 2 つの手順をまだ実装していない貢献者にとって使いやすいものです。

これを行うと、追加の「オプション」(つまり、環境固有の高度な) ステップをビルド システムに追加する必要がなくなり、問題に対してより一般的に適用可能な解決策が得られる可能性があります。

サンプル コードに関する追加のコメントとして、ソース ツリーでのビルドを避け、代わりにソース外のビルドを使用します。

于 2013-02-09T13:14:26.397 に答える