Skip to content

Commit b2a540c

Browse files
committed
Add ccache detection to ICU build configuration for improved compilation speed
1 parent cedbdc4 commit b2a540c

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

cmake/BuildICU.cmake

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,35 @@ if(WIN32)
4848
"${ICU_LIB_${lib}}")
4949
endforeach()
5050
else()
51+
# Add ccache detection at the start
52+
find_program(CCACHE_PROGRAM ccache)
53+
if(CCACHE_PROGRAM)
54+
message(STATUS "Found ccache: ${CCACHE_PROGRAM}")
55+
set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
56+
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
57+
endif()
58+
5159
set(ICU_URL
5260
"https://github.com/unicode-org/icu/releases/download/release-${ICU_VERSION_DASH}/icu4c-${ICU_VERSION_UNDERSCORE}-src.tgz"
5361
)
5462
set(ICU_HASH "SHA256=cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef")
5563
if(APPLE)
5664
set(ICU_PLATFORM "MacOSX")
5765
set(TARGET_ARCH -arch\ $ENV{MACOS_ARCH})
58-
set(ICU_BUILD_ENV_VARS CFLAGS=${TARGET_ARCH} CXXFLAGS=${TARGET_ARCH} LDFLAGS=${TARGET_ARCH})
66+
set(ICU_BUILD_ENV_VARS
67+
CFLAGS=${TARGET_ARCH}
68+
CXXFLAGS=${TARGET_ARCH}
69+
LDFLAGS=${TARGET_ARCH}
70+
CC="${CMAKE_C_COMPILER_LAUNCHER} ${CMAKE_C_COMPILER}"
71+
CXX="${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER}")
5972
else()
6073
set(ICU_PLATFORM "Linux")
61-
set(ICU_BUILD_ENV_VARS CFLAGS=-fPIC CXXFLAGS=-fPIC LDFLAGS=-fPIC)
74+
set(ICU_BUILD_ENV_VARS
75+
CFLAGS=-fPIC
76+
CXXFLAGS=-fPIC
77+
LDFLAGS=-fPIC
78+
CC="${CMAKE_C_COMPILER_LAUNCHER} ${CMAKE_C_COMPILER}"
79+
CXX="${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER}")
6280
endif()
6381

6482
ExternalProject_Add(

0 commit comments

Comments
 (0)