使用ccache加快编译速度

首先安装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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。