build: use CMAKE_C_COMPILER_LAUNCHER for ccache 93/37893/4
authorGuillaume Solignac <gsoligna@cisco.com>
Wed, 11 Jan 2023 10:56:29 +0000 (11:56 +0100)
committerDamjan Marion <dmarion@0xa5.net>
Wed, 18 Jan 2023 10:10:59 +0000 (10:10 +0000)
In some situations, CMake will find ccache in /usr/bin but /usr/bin
might not present in PATH. The former fix for this was to place the
ccache configuration logic before the project() declaration, but since
CMake 3.4 there is a new variable to be used which handles this case.

For the original problem, see also
https://crascit.com/2016/04/09/using-ccache-with-cmake/

Type: fix
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: Ie026e02b2b06e2dca2d62da5fea7b1a104bcc7c3

src/cmake/ccache.cmake

index 058a0f3..a7b395b 100644 (file)
@@ -20,8 +20,8 @@ if(VPP_USE_CCACHE)
   message(STATUS "Looking for ccache")
   if(CCACHE_FOUND)
     message(STATUS "Looking for ccache - found")
-    set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
-    set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
+    set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_FOUND})
+    set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_FOUND})
   else(CCACHE_FOUND)
     message(STATUS "Looking for ccache - not found")
   endif(CCACHE_FOUND)