Setup sccache

This commit is contained in:
momo5502
2025-05-29 09:44:04 +02:00
parent c559c2ff43
commit 5041bab9f8
4 changed files with 40 additions and 1 deletions

View File

@@ -86,6 +86,14 @@ jobs:
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1.13.0
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
- name: Setup Environment Variables
shell: bash
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
- name: CMake Build
run: cmake --preset=release && cmake --build --preset=release -t dump-apiset
@@ -255,7 +263,15 @@ jobs:
ndk-version: r26d
add-to-path: false
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
- name: Setup Environment Variables
shell: bash
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
- name: Setup Android Environment Variables
shell: bash
if: ${{ startsWith(matrix.platform, 'Android') }}
run: |

View File

@@ -29,6 +29,9 @@ endif()
# It doesn't support it, even if it thinks it does...
set(ENV{ARCHFLAGS} "nope")
##########################################
include(cmake/sccache.cmake)
##########################################

15
cmake/sccache.cmake Normal file
View File

@@ -0,0 +1,15 @@
include_guard()
if(CMAKE_GENERATOR STREQUAL "Ninja")
find_program(SCCACHE sccache REQUIRED)
if (SCCACHE)
set(CMAKE_C_COMPILER_LAUNCHER ${SCCACHE})
set(CMAKE_CXX_COMPILER_LAUNCHER ${SCCACHE})
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
if(POLICY CMP0141)
cmake_policy(SET CMP0141 NEW)
endif()
endif()
endif()

View File

@@ -35,13 +35,18 @@ endif()
set(ICICLE_RUST_LIB ${ICICLE_ARTIFACT_DIR}/${ICICLE_RUST_LIBNAME})
set(SCCACHE_ENV "MOMO_DUMMY_ENV=1")
if (SCCACHE)
set(SCCACHE_ENV "RUSTC_WRAPPER=${SCCACHE}")
endif()
ExternalProject_Add(
icicle-rust-project
PREFIX ${CMAKE_CURRENT_BINARY_DIR}
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}
BINARY_DIR ${CMAKE_CURRENT_LIST_DIR}
CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} -E env "CARGO_TARGET_DIR=${ICICLE_BUILD_DIR}" cargo build ${CARGO_OPTIONS} --lib --profile $<IF:$<CONFIG:Debug>,dev,release>
BUILD_COMMAND ${CMAKE_COMMAND} -E env "CARGO_TARGET_DIR=${ICICLE_BUILD_DIR}" "${SCCACHE_ENV}" -- cargo build ${CARGO_OPTIONS} --lib --profile $<IF:$<CONFIG:Debug>,dev,release>
INSTALL_COMMAND ""
USES_TERMINAL_CONFIGURE 1
USES_TERMINAL_BUILD 1