A recent cmake version bump broke ccache handling of cmake files. This
commit switches it to use CMAKE_X_COMPILER_LAUNCHER instead of the
hacky ARG1 stuff.

Originally posted by Hirokazu Morikawa as a diff:
https://github.com/openwrt/openwrt/commit/bfc433efd4a0c6875a92981d1bd2a5e3e60c61c6#commitcomment-45228331

Signed-off-by: Rosen Penev <ros...@gmail.com>
---
 include/cmake.mk | 39 +++++++++++++++------------------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/include/cmake.mk b/include/cmake.mk
index 0a20530a16..cff62fb535 100644
--- a/include/cmake.mk
+++ b/include/cmake.mk
@@ -19,27 +19,20 @@ else
 endif
 
 ifeq ($(CONFIG_CCACHE),)
- CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC))
- CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX))
- CMAKE_C_COMPILER_ARG1:=
- CMAKE_CXX_COMPILER_ARG1:=
-
- CMAKE_HOST_C_COMPILER:=$(HOSTCC)
- CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX)
- CMAKE_HOST_C_COMPILER_ARG1:=
- CMAKE_HOST_CXX_COMPILER_ARG1:=
+  CMAKE_C_COMPILER_LAUNCHER:=
+  CMAKE_CXX_COMPILER_LAUNCHER:=
 else
   CCACHE:=$(STAGING_DIR_HOST)/bin/ccache
-  CMAKE_C_COMPILER:=$(CCACHE)
-  CMAKE_C_COMPILER_ARG1:=$(TARGET_CC_NOCACHE)
-  CMAKE_CXX_COMPILER:=$(CCACHE)
-  CMAKE_CXX_COMPILER_ARG1:=$(TARGET_CXX_NOCACHE)
-
-  CMAKE_HOST_C_COMPILER:=$(CCACHE)
-  CMAKE_HOST_C_COMPILER_ARG1:=$(HOSTCC_NOCACHE)
-  CMAKE_HOST_CXX_COMPILER:=$(CCACHE)
-  CMAKE_HOST_CXX_COMPILER_ARG1:=$(HOSTCXX_NOCACHE)
+  CMAKE_C_COMPILER_LAUNCHER:=$(CCACHE)
+  CMAKE_CXX_COMPILER_LAUNCHER:=$(CCACHE)
 endif
+
+CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC_NOCACHE))
+CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX_NOCACHE))
+
+CMAKE_HOST_C_COMPILER:=$(HOSTCC_NOCACHE)
+CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX_NOCACHE)
+
 CMAKE_AR:=$(call cmake_tool,$(TARGET_AR))
 CMAKE_NM:=$(call cmake_tool,$(TARGET_NM))
 CMAKE_RANLIB:=$(call cmake_tool,$(TARGET_RANLIB))
@@ -61,12 +54,11 @@ define Build/Configure/Default
                        -DCMAKE_BUILD_TYPE=Release \
                        -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
                        -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
+                       
-DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \
                        -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \
-                       -DCMAKE_C_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \
+                       
-DCMAKE_CXX_COMPILER_LAUNCHER="$(CMAKE_CXX_COMPILER_LAUNCHER)" \
                        -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \
-                       -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_CXX_COMPILER_ARG1)" \
                        -DCMAKE_ASM_COMPILER="$(CMAKE_C_COMPILER)" \
-                       -DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \
                        -DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
                        -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) 
$(CMAKE_SHARED_LDFLAGS)" \
                        -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) 
$(CMAKE_SHARED_LDFLAGS)" \
@@ -107,12 +99,11 @@ define Host/Configure/Default
                LDFLAGS="$(HOST_LDFLAGS)" \
                cmake \
                        -DCMAKE_BUILD_TYPE=Release \
+                       
-DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \
                        -DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
-                       -DCMAKE_C_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" 
\
+                       
-DCMAKE_CXX_COMPILER_LAUNCHER="$(CMAKE_CXX_COMPILER_LAUNCHER)" \
                        -DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" \
-                       
-DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_HOST_CXX_COMPILER_ARG1)" \
                        -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
-                       
-DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" \
                        -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
                        -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
                        -DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \
-- 
2.29.2


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to