首先安装ccache
brew install ccache
这一步可以改成使用Xcode build的时候自动安装,在Scheme里给Build增加Pre-action脚本,内容如下:
if !(type -p ccache >/dev/null 2>&1); then
exec brew install ccache
wait
fi
如图所示:
增加脚本到项目目录,脚本内容:
#!/bin/sh
if type -p ccache >/dev/null 2>&1; then
export CCACHE_MAXSIZE=10G
export CCACHE_CPP2=true
export CCACHE_HARDLINK=true
export CCACHE_SLOPPINESS=file_macro,time_macros,include_file_mtime,include_file_ctime,file_stat_matches
exec ccache /usr/bin/clang "$@"
else
exec clang "$@"
fi
保存为ccache-clang,如果使用了C++,同时修改脚本内容保存为ccache-clang++。
然后在Build Settings里增加User Defined Setting:
CC=$(SRCROOT)/../ccache-clang
CXX=$(SRCROOT)/../ccache-clang++
如图所示:
大功告成。
另外可以使用ccache命令查看编译命中状态:
PS:
1.对于使用pch的项目,需要关掉disable GCC_PRECOMPILE_PREFIX_HEADER。
2.不支持Clang modules,需要把比如@import UIKit改成#import <UIKit/UIKit.h>。
3.第一次编译的时候比较慢。
参考链接:
https://pspdfkit.com/blog/2015/ccache-for-fun-and-profit/