1. ホーム
  2. c++

[解決済み] CMakeでCCacheを使うには?

2022-12-01 09:34:06

質問

以下のようにしたいのですが、どうすればよいでしょうか。CCache が PATH に存在する場合、コンパイルに "ccache g++" を使用し、そうでない場合は g++ を使用します。私は、以下を含む小さな my-cmake スクリプトを書くことを試みました。

    CC="ccache gcc" CXX="ccache g++" cmake $*

が、うまくいかないようです(makeを実行してもccacheは使われません。CMAKE_VERBOSE_MAKEFILE onを使って確認しました)。

更新しました。

以下の通りです。 このリンク というスクリプトに変更してみました。

     cmake -D CMAKE_CXX_COMPILER="ccache" -D CMAKE_CXX_COMPILER_ARG1="g++" -D CMAKE_C_COMPILER="ccache" -D CMAKE_C_COMPILER_ARG1="gcc" $*

が、cmake はコンパイラの ccache を使用する際にテストが失敗したと文句を言いながら終了します (これは予想できます)。

どのように解決するのですか?

私自身は /usr/lib/ccache の中に $PATH . このディレクトリには、コンパイラが呼び出される可能性のあるすべての名前に対するシンボリックリンクが含まれています (たとえば gccgcc-4.3 を含む)、すべて ccache を指しています。

そして、私はシンボリックリンクを作成しませんでした。そのディレクトリは、Debian に ccache をインストールしたときに、あらかじめ埋められるようになっています。