Files
ConanPackages/ConanProfiles/Toolchains/ccache.cmake
Romain BOULLARD 083e034711
Some checks failed
Conan Packaging / Package cli11/2.6.1 (push) Has been cancelled
Conan Packaging / Package eabase/01082025 (push) Has been cancelled
Conan Packaging / Package flatbuffers/25.12.19 (push) Has been cancelled
Conan Packaging / Package imgui/1.92.6-docking (push) Has been cancelled
Conan Packaging / Package lodepng/cci.20260210 (push) Has been cancelled
Conan Packaging / Package meshoptimizer/1.0 (push) Has been cancelled
Conan Packaging / Package mimalloc/3.2.8 (push) Has been cancelled
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Has been cancelled
Conan Packaging / Package rapidhash/3.0 (push) Has been cancelled
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package sqlite3/3.51.2 (push) Has been cancelled
Conan Packaging / Package stduuid/1.2.3 (push) Has been cancelled
Conan Packaging / Package unordered_dense/4.8.1 (push) Has been cancelled
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package eastl/3.27.01 (push) Has been cancelled
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Has been cancelled
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package glslang/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Has been cancelled
Conan Packaging / Package shaderc/2026.1 (push) Has been cancelled
Conan Packaging / Package assimp/6.0.4 (push) Has been cancelled
Profile update
2026-04-15 18:26:03 +02:00

30 lines
1.4 KiB
CMake

include_guard()
# Find ccache executable
find_program(CCACHE_PROGRAM NAMES ccache)
if(CCACHE_PROGRAM)
message(STATUS "ccache found: ${CCACHE_PROGRAM}, enabling via CMake launcher and environment.")
if (CMAKE_GENERATOR MATCHES "Visual Studio")
# Copy original ccache.exe and rename to cl.exe, this way intermediate cmd file is not needed
file(COPY_FILE ${CCACHE_PROGRAM} ${CMAKE_BINARY_DIR}/cl.exe ONLY_IF_DIFFERENT)
# Set Visual Studio global variables:
# - Use above cl.exe (ccache.exe) as a compiler
# - Enable parallel compilation
list(APPEND CMAKE_VS_GLOBALS
"CLToolExe=cl.exe"
"CLToolPath=${CMAKE_BINARY_DIR}"
"UseMultiToolTask=true"
"UseStructuredOutput=false"
)
elseif(CMAKE_GENERATOR MATCHES "Ninja" OR CMAKE_GENERATOR MATCHES "Unix Makefiles")
message(STATUS "Using ccache as compiler launcher for Ninja or Makefiles.")
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE FILEPATH "CXX compiler cache used" FORCE)
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE FILEPATH "C compiler cache used" FORCE)
else()
message(WARNING "Unsupported generator for ccache integration: ${CMAKE_GENERATOR}. ccache will not be used.")
endif()
else()
message(WARNING "ccache not found. Not enabling ccache integration.")
endif()