CMake で CCache を使用するには? 質問する

CMake で CCache を使用するには? 質問する

私は次のことをやりたいです: CCacheがPATHに存在する場合はコンパイルに「ccache g++」を使用し、そうでない場合はg++を使用します。私は小さなmy-cmakeスクリプトを書いてみました。

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

しかし、動作していないようです (make を実行しても ccache は使用されません。CMAKE_VERBOSE_MAKEFILE をオンにしてこれを確認しました)。

アップデート:

に従ってこのリンクスクリプトを次のように変更してみました

     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 の使用時にテストが失敗したというエラーを出して終了します (これは予想どおりです)。

ベストアンサー1

CMake 3.4 以降では次の操作を実行できます。

-DCMAKE_CXX_COMPILER_LAUNCHER=ccache

参照:https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_LAUNCHER.html

CMake 3.17 以降では、env 変数も使用できます。

export CMAKE_CXX_COMPILER_LAUNCHER=ccache
cmake -S ... -B ...

参照:https://cmake.org/cmake/help/latest/envvar/CMAKE_LANG_COMPILER_LAUNCHER.html

おすすめ記事