gitとかでブランチ移動したあと、特に変更もしていないファイルがコンパイルされるのがとってもうざかったので、導入してみた
環境
- macOS Sierra 10.12.2
- xcode 8.2
- cocos2d-x 3.13.1
インストール
まずccacheをbrewで導入する(brewの導入方法)
$ brew install ccache
cocosとかで開発してるとすぐキャッシュが圧迫されるので、バッファをしっかりとっておく
$ ccache -M 20G
Xcode
ccacheを実行するラッパースクリプトを作成(ccache_wrapper)
$ sudo vi /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ccache_wrapper
----------------------------------
#!/bin/bash
which ccache
if [ "$?" -eq 0 ]; then
export CCACHE_SLOPPINESS=pch_defines,time_macros
exec `which ccache` /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Qunused-arguments "$@"
else
exec /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Qunused-arguments "$@"
fi
----------------------------------
$ sudo chmod 755 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ccache_wrapper
ツールを作成したら、BuildSettingsで以下のボタンを押して
以下のUser-Definedを追加する
- CC : $(DT_TOOLCHAIN_DIR)/usr/bin/ccache_wrapper
- LDPLUSPLUS : $(DT_TOOLCHAIN_DIR)/usr/bin/clang++
Xcode導入完了
Android
特にbuild.gradleとかmanifestをいじる必要はなし
以下をログインシェルのprofileに追加するのみ
$ vi ~/.zprofile
----------------------------------
# ccache
export USE_CCACHE=1
export NDK_CCACHE=`which ccache`
export CCACHE_CPP2=yes
export CCACHE_COMPILERCHECK=content
----------------------------------
$ . ~/.zprofile
確認方法
ccacheがちゃんと動いているか、表面上よくわからんためビルド中に以下のコマンドを叩く
$ ccache -s
cache sizeがどんどん膨れて入れば導入成功