All checks were successful
Bin2CPP / Build & Test Debug with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 40s
Bin2CPP / Build & Test Debug with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 41s
Bin2CPP / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 47s
Bin2CPP / Build & Test Release with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 51s
Bin2CPP / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 49s
Bin2CPP / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 56s
Bin2CPP / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 55s
Bin2CPP / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 1m11s
Bin2CPP / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 1m15s
Bin2CPP / Sonarqube (push) Successful in 1m9s
Bin2CPP / Build & Test Release with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 50s
Bin2CPP / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 1m6s
Bin2CPP / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 1m9s
Bin2CPP / Clang Format Checks (push) Successful in 8s
Conan Packaging / Package Bin2CPP/1.0.0 (push) Successful in 53s
Reviewed-on: #7
30 lines
1.4 KiB
CMake
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() |