mirror of
https://github.com/wownero/wownero.git
synced 2026-10-17 15:41:44 +02:00
cmake: allow user to select compiler cache
This commit is contained in:
+16
-3
@@ -58,8 +58,11 @@ endif()
|
||||
|
||||
project(monero)
|
||||
|
||||
option (USE_COMPILER_CACHE "Use compiler cache if a usable instance is found (sccache/ccache)" ON)
|
||||
if (USE_COMPILER_CACHE)
|
||||
set (COMPILER_CACHE "auto" CACHE STRING "Compiler cache to use: auto, ccache, sccache, or none")
|
||||
set_property(CACHE COMPILER_CACHE PROPERTY STRINGS auto ccache sccache none)
|
||||
if (COMPILER_CACHE STREQUAL "none")
|
||||
message(STATUS "Compiler cache deselected")
|
||||
elseif (COMPILER_CACHE STREQUAL "auto")
|
||||
find_program(SCCACHE sccache)
|
||||
find_program(CCACHE ccache)
|
||||
if (SCCACHE)
|
||||
@@ -75,8 +78,18 @@ if (USE_COMPILER_CACHE)
|
||||
else()
|
||||
message(STATUS "No compiler cache found")
|
||||
endif()
|
||||
elseif (COMPILER_CACHE STREQUAL "sccache")
|
||||
find_program(SCCACHE sccache REQUIRED)
|
||||
message(STATUS "Using sccache: ${SCCACHE}")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER "${SCCACHE}")
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER "${SCCACHE}")
|
||||
elseif (COMPILER_CACHE STREQUAL "ccache")
|
||||
find_program(CCACHE ccache REQUIRED)
|
||||
message(STATUS "Using ccache: ${CCACHE}")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE}")
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE}")
|
||||
else()
|
||||
message(STATUS "Compiler cache deselected")
|
||||
message(FATAL_ERROR "Invalid COMPILER_CACHE value '${COMPILER_CACHE}': expected auto, ccache, sccache, or none")
|
||||
endif()
|
||||
|
||||
option (USE_COMPILATION_TIME_PROFILER "Use compilation time profiler (for CLang >= 9 only)" OFF)
|
||||
|
||||
@@ -336,7 +336,7 @@ mkdir -p "$DISTSRC"
|
||||
esac
|
||||
|
||||
# Turn off unused default options
|
||||
CMAKEFLAGS+=" -DUSE_COMPILER_CACHE=OFF -DBUILD_DOCUMENTATION=OFF"
|
||||
CMAKEFLAGS+=" -DCOMPILER_CACHE=none -DBUILD_DOCUMENTATION=OFF"
|
||||
|
||||
# Configure this DISTSRC for $HOST
|
||||
# shellcheck disable=SC2086
|
||||
|
||||
@@ -56,7 +56,7 @@ mkdir -p "$DIR_BUILD" && cd "$DIR_BUILD"
|
||||
cmake ../.. \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-DUSE_COMPILER_CACHE=OFF \
|
||||
-DCOMPILER_CACHE=none \
|
||||
-DUSE_COMPILATION_TIME_PROFILER=ON \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_TESTS=ON
|
||||
|
||||
@@ -56,7 +56,7 @@ UWYU_COMMAND="$PROG;-Xiwyu;any;-Xiwyu;iwyu;-Xiwyu;args" # Copy-pasted from the u
|
||||
cmake ../.. \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-DUSE_COMPILER_CACHE=ON \
|
||||
-DCOMPILER_CACHE=auto \
|
||||
-DCMAKE_C_INCLUDE_WHAT_YOU_USE="$UWYU_COMMAND" \
|
||||
-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="$UWYU_COMMAND" \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
|
||||
@@ -45,7 +45,7 @@ function tidy_for_language() {
|
||||
cmake ../.. \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-DUSE_COMPILER_CACHE=ON \
|
||||
-DCOMPILER_CACHE=auto \
|
||||
-DUSE_CLANG_TIDY_${LANG}=ON \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_TESTS=ON
|
||||
|
||||
Reference in New Issue
Block a user