# Using CCache on Mac [ccache](https://ccache.dev/) is a compiler cache. It speeds up recompilation of C/C++ code by caching previous compilations and detecting when the same compilation is being done again. This often results in a significant speedup in common compilations, especially when switching between branches. This page is about using ccache on Mac with clang and the Ninja build system. [TOC] ## Installation To install ccache with [Homebrew](https://brew.sh/), run `brew install ccache`. With [MacPorts](https://macports.org/), run `port install ccache`. You can also download and install yourself, using the [instructions in the repository](https://github.com/ccache/ccache/blob/master/doc/INSTALL.md). Make sure ccache can be found in your `$PATH`. ## Use with GN You just need to set the `cc_wrapper` GN variable. You can do so by running `gn args out/Default` and adding `cc_wrapper="env CCACHE_SLOPPINESS=time_macros ccache"` to the build arguments. ## Build After setting the `cc_wrapper` GN variable you can just run ninja as normal: ```shell ninja -C out/Default chrome ``` ## Optional Steps * Configure ccache to use a different cache size with `ccache -M `. You can see a list of configuration options by calling `ccache` alone.