Ccache setup
The goal is to speed up recompilation using ccache. Ccache is a tool that speeds up recompilation of C/C++ code. It does this by caching the results of previous compilations. When you recompile code, ccache checks if it has already compiled the same code with the same compiler flags. If so, it uses the cached result instead of recompiling.
This commit is contained in:
parent
3dc2058400
commit
cfcd6e22bb
3 changed files with 20 additions and 1 deletions
9
.github/workflows/build_ubuntu_debug.yml
vendored
9
.github/workflows/build_ubuntu_debug.yml
vendored
|
|
@ -16,7 +16,14 @@ jobs:
|
||||||
compiler: [g++-10, g++-9, g++-8, g++-7, clang-6, clang-7, clang-8, clang-9, clang-10, clang-11, clang-12]
|
compiler: [g++-10, g++-9, g++-8, g++-7, clang-6, clang-7, clang-8, clang-9, clang-10, clang-11, clang-12]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Caching objects
|
||||||
|
id: cache-objects
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.cache/ccache
|
||||||
|
key: ${{ runner.os }}-${{env.BUILD_TYPE}}-${{ matrix.compiler }}-objects
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,17 @@ project("ParadisEO"
|
||||||
## Language
|
## Language
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
|
## ccache
|
||||||
|
find_program(CCACHE_PROGRAM ccache)
|
||||||
|
|
||||||
|
if (CCACHE_PROGRAM)
|
||||||
|
message(NOTICE "-- ccache is enabled (found here: ${CCACHE_PROGRAM})")
|
||||||
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "\"${CCACHE_PROGRAM}\"")
|
||||||
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "\"${CCACHE_PROGRAM}\"")
|
||||||
|
else ()
|
||||||
|
message(NOTICE "-- ccache has not been found")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 2) Check dependencies
|
### 2) Check dependencies
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,7 @@ If you `ENABLE_CMAKE_EXAMPLE`, it will also build the examples.
|
||||||
If may want to make build scripts more verbose (especially when building the
|
If may want to make build scripts more verbose (especially when building the
|
||||||
doc) by enabling `CMAKE_VERBOSE_MAKEFILE`.
|
doc) by enabling `CMAKE_VERBOSE_MAKEFILE`.
|
||||||
|
|
||||||
|
If `ccache` installed in your environment, library recompilation times can be significantly reduced. To clear all cached objects, execute `ccache -C`.
|
||||||
|
|
||||||
## Licenses
|
## Licenses
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue