Skip to content

Commit

Permalink
[cmake] add version parsing to ccache
Browse files Browse the repository at this point in the history
  • Loading branch information
Rechi committed Oct 13, 2022
1 parent 5d89b25 commit 7149b66
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion cmake/modules/buildtools/FindCCache.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,17 @@

find_program(CCACHE_PROGRAM ccache)

if(CCACHE_PROGRAM)
execute_process(COMMAND "${CCACHE_PROGRAM}" --version
OUTPUT_VARIABLE CCACHE_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "[^\n]* version [^\n]*" CCACHE_VERSION "${CCACHE_VERSION}")
string(REGEX REPLACE ".* version (.*)" "\\1" CCACHE_VERSION "${CCACHE_VERSION}")
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CCache REQUIRED_VARS CCACHE_PROGRAM)
find_package_handle_standard_args(CCache REQUIRED_VARS CCACHE_PROGRAM
VERSION_VAR CCACHE_VERSION)

if(CCACHE_FOUND)
# Supports Unix Makefiles, Ninja and Xcode
Expand All @@ -25,3 +34,5 @@ if(CCACHE_FOUND)
set(CMAKE_XCODE_ATTRIBUTE_LD "${CMAKE_BINARY_DIR}/launch-c" PARENT_SCOPE)
set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CMAKE_BINARY_DIR}/launch-cxx" PARENT_SCOPE)
endif()

mark_as_advanced(CCACHE_PROGRAM)

0 comments on commit 7149b66

Please sign in to comment.