commit c18d7941effaf60810a0891d8aa2dd9cd0170526
parent d3fa88b70f6f96ec4bc505968afec1dedb3b450b
Author: dundargoc <gocdundar@gmail.com>
Date: Wed, 8 May 2024 21:49:57 +0200
build: allow sccache as compiler cache
Also enable caching for dependencies.
Closes https://github.com/neovim/neovim/issues/28670
Diffstat:
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -50,11 +50,6 @@ file(GLOB DOCFILES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
set_directory_properties(PROPERTIES
EP_PREFIX "${DEPS_BUILD_DIR}")
-find_program(CCACHE_PRG ccache)
-if(CCACHE_PRG)
- set(CMAKE_C_COMPILER_LAUNCHER ${CMAKE_COMMAND} -E env CCACHE_SLOPPINESS=pch_defines,time_macros ${CCACHE_PRG})
-endif()
-
if(NOT CI_BUILD)
set(CMAKE_INSTALL_MESSAGE NEVER)
endif()
diff --git a/cmake/Deps.cmake b/cmake/Deps.cmake
@@ -23,6 +23,12 @@ if(POLICY CMP0092)
list(APPEND DEPS_CMAKE_ARGS -D CMAKE_POLICY_DEFAULT_CMP0092=NEW)
endif()
+find_program(CACHE_PRG NAMES ccache sccache)
+if(CACHE_PRG)
+ set(CMAKE_C_COMPILER_LAUNCHER ${CMAKE_COMMAND} -E env CCACHE_SLOPPINESS=pch_defines,time_macros ${CACHE_PRG})
+ list(APPEND DEPS_CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER})
+endif()
+
# MAKE_PRG
if(UNIX)
find_program(MAKE_PRG NAMES gmake make)
@@ -58,7 +64,8 @@ function(get_externalproject_options name DEPS_IGNORE_SHA)
set(EXTERNALPROJECT_OPTIONS
DOWNLOAD_NO_PROGRESS TRUE
- EXTERNALPROJECT_OPTIONS URL ${${name_allcaps}_URL})
+ EXTERNALPROJECT_OPTIONS URL ${${name_allcaps}_URL}
+ CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
if(NOT ${DEPS_IGNORE_SHA})
list(APPEND EXTERNALPROJECT_OPTIONS URL_HASH SHA256=${${name_allcaps}_SHA256})