mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
## Summary - Remove sccache support entirely, use ccache only - Missing ccache no longer fails the build (just skips caching) - Remove S3 distributed cache support ## Changes - Remove `cmake/tools/SetupSccache.cmake` and S3 distributed cache support - Simplify `CMakeLists.txt` to only use ccache - Update `SetupCcache.cmake` to not fail when ccache is missing - Replace sccache with ccache in bootstrap scripts (sh, ps1) - Update `.buildkite/Dockerfile` to install ccache instead of sccache - Update `flake.nix` and `shell.nix` to use ccache - Update documentation (CONTRIBUTING.md, contributing.mdx, building-windows.mdx) - Remove `scripts/build-cache/` directory (was only for sccache S3 access) ## Test plan - [x] Build completes successfully with `bun bd` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Bot <claude-bot@bun.sh> Co-authored-by: Claude <noreply@anthropic.com>
49 lines
1.1 KiB
CMake
49 lines
1.1 KiB
CMake
optionx(ENABLE_CCACHE BOOL "If ccache should be enabled" DEFAULT ON)
|
|
|
|
if(NOT ENABLE_CCACHE OR CACHE_STRATEGY STREQUAL "none")
|
|
setenv(CCACHE_DISABLE 1)
|
|
return()
|
|
endif()
|
|
|
|
|
|
find_command(
|
|
VARIABLE
|
|
CCACHE_PROGRAM
|
|
COMMAND
|
|
ccache
|
|
)
|
|
|
|
if(NOT CCACHE_PROGRAM)
|
|
return()
|
|
endif()
|
|
|
|
set(CCACHE_ARGS CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER)
|
|
foreach(arg ${CCACHE_ARGS})
|
|
setx(${arg} ${CCACHE_PROGRAM})
|
|
list(APPEND CMAKE_ARGS -D${arg}=${${arg}})
|
|
endforeach()
|
|
|
|
setenv(CCACHE_DIR ${CACHE_PATH}/ccache)
|
|
setenv(CCACHE_BASEDIR ${CWD})
|
|
setenv(CCACHE_NOHASHDIR 1)
|
|
|
|
if(CACHE_STRATEGY STREQUAL "read-only")
|
|
setenv(CCACHE_READONLY 1)
|
|
elseif(CACHE_STRATEGY STREQUAL "write-only")
|
|
setenv(CCACHE_RECACHE 1)
|
|
endif()
|
|
|
|
setenv(CCACHE_FILECLONE 1)
|
|
setenv(CCACHE_STATSLOG ${BUILD_PATH}/ccache.log)
|
|
|
|
if(CI)
|
|
# FIXME: Does not work on Ubuntu 18.04
|
|
# setenv(CCACHE_SLOPPINESS "pch_defines,time_macros,locale,clang_index_store,gcno_cwd,include_file_ctime,include_file_mtime")
|
|
else()
|
|
setenv(CCACHE_MAXSIZE 100G)
|
|
setenv(CCACHE_SLOPPINESS "pch_defines,time_macros,locale,random_seed,clang_index_store,gcno_cwd")
|
|
endif()
|
|
|
|
|
|
|