mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-21 09:05:10 -07:00
[Build] Enable ccache by default when it is installed (#7236)
* [Build] Enable ccache by default when it is installed ccache is a near free win for both clean and incremental rebuilds and has no effect on systems where it is not installed (find_program guards the whole block). Aligns the CMake default with the documented behavior; users can still arch with -DUSE_CCACHE=OFF. * [Build] Disable ccache auto-engage on Windows (MSVC) * [Build] Report ccache skip on Windows explicitly --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
14ecfff700
commit
aa96d81e4b
1 changed files with 9 additions and 2 deletions
|
|
@ -9,7 +9,7 @@
|
||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
# Use compiler cache (ccache)
|
# Use compiler cache (ccache)
|
||||||
option(USE_CCACHE "Cache the build results with ccache" OFF)
|
option(USE_CCACHE "Cache the build results with ccache" ON)
|
||||||
# Treat warnings as errors (Debug builds only)
|
# Treat warnings as errors (Debug builds only)
|
||||||
option(WARNING_AS_ERROR "Treat warnings as errors in debug builds" ON)
|
option(WARNING_AS_ERROR "Treat warnings as errors in debug builds" ON)
|
||||||
# Check for translation updates
|
# Check for translation updates
|
||||||
|
|
@ -39,7 +39,11 @@ else()
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_CCACHE)
|
# ccache does not support MSVC and must not auto-engage on Windows
|
||||||
|
# (it is installed unintentionally on the Windows CI runner).
|
||||||
|
# NOTE: this keys off the target OS, so a mingw/Ninja configuration on Windows
|
||||||
|
# also opts out of ccache even though the GNUCXX branch below supports it.
|
||||||
|
if(USE_CCACHE AND NOT WIN32)
|
||||||
find_program(CCACHE_PROGRAM ccache)
|
find_program(CCACHE_PROGRAM ccache)
|
||||||
if(CCACHE_PROGRAM)
|
if(CCACHE_PROGRAM)
|
||||||
# Support Unix Makefiles and Ninja
|
# Support Unix Makefiles and Ninja
|
||||||
|
|
@ -50,6 +54,9 @@ if(USE_CCACHE)
|
||||||
execute_process(COMMAND ${CCACHE_PROGRAM} --set-config sloppiness=pch_defines,time_macros)
|
execute_process(COMMAND ${CCACHE_PROGRAM} --set-config sloppiness=pch_defines,time_macros)
|
||||||
message(STATUS "Found CCache ${CCACHE_PROGRAM}")
|
message(STATUS "Found CCache ${CCACHE_PROGRAM}")
|
||||||
endif()
|
endif()
|
||||||
|
elseif(USE_CCACHE AND WIN32)
|
||||||
|
# An explicit opt-in must not disappear silently on Windows.
|
||||||
|
message(STATUS "ccache disabled: not supported for the MSVC toolchain on Windows")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 OR USE_VCPKG)
|
if(WIN32 OR USE_VCPKG)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue