From 8da3bb7920e05df4fdcf925e58824a2dbbd853f4 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 18 Sep 2017 12:14:13 +0200
Subject: [PATCH] [CMake] Added ccache version check.

Minimum version: 3.2
---
 scripts/cmake/CCacheSetup.cmake | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/scripts/cmake/CCacheSetup.cmake b/scripts/cmake/CCacheSetup.cmake
index fd5f315a42a..9e2f080ac6c 100644
--- a/scripts/cmake/CCacheSetup.cmake
+++ b/scripts/cmake/CCacheSetup.cmake
@@ -2,6 +2,19 @@ if(NOT CCACHE_TOOL_PATH)
     return()
 endif()
 
+# Check ccache version
+set(CCACHE_VERSION_REQUIRED 3.2.0)
+execute_process(COMMAND ${CCACHE_TOOL_PATH} --version
+    OUTPUT_VARIABLE CCACHE_VERSION
+)
+if("${CCACHE_VERSION}" MATCHES "ccache version ([0-9]\\.[0-9]\\.[0-9])")
+    if(${CMAKE_MATCH_1} VERSION_LESS ${CCACHE_VERSION_REQUIRED})
+        message(STATUS "CCache outdated. Installed: ${CMAKE_MATCH_1}, \
+            required: ${CCACHE_VERSION_REQUIRED}. Caching disabled.")
+        return()
+    endif()
+endif()
+
 # Set ccache as the compiler launcher
 set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
 set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
-- 
GitLab