summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/cmake.mk18
1 files changed, 16 insertions, 2 deletions
diff --git a/include/cmake.mk b/include/cmake.mk
index 09a0a2419..c83be1522 100644
--- a/include/cmake.mk
+++ b/include/cmake.mk
@@ -2,6 +2,18 @@ PKG_INSTALL:=1
MAKE_FLAGS+=VERBOSE=1
+ifeq ($(CONFIG_CCACHE),)
+ CMAKE_C_COMPILER:=$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)
+ CMAKE_C_COMPILER_ARG1:=
+ CMAKE_CXX_COMPILER:=$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)
+ CMAKE_CXX_COMPILER_ARG1:=
+else
+ CMAKE_C_COMPILER:=$(STAGING_DIR_HOST)/bin/ccache
+ CMAKE_C_COMPILER_ARG1:=$(filter-out ccache,$(TARGET_CC))
+ CMAKE_CXX_COMPILER:=$(STAGING_DIR_HOST)/bin/ccache
+ CMAKE_CXX_COMPILER_ARG1:=$(filter-out ccache,$(TARGET_CXX))
+endif
+
define Build/Configure/Default
(cd $(PKG_BUILD_DIR); \
CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
@@ -13,8 +25,10 @@ define Build/Configure/Default
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
- -DCMAKE_C_COMPILER=$(TOOLCHAIN_DIR)/bin/$(TARGET_CC) \
- -DCMAKE_CXX_COMPILER=$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX) \
+ -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \
+ -DCMAKE_C_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \
+ -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \
+ -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_CXX_COMPILER_ARG1)" \
-DCMAKE_EXE_LINKER_FLAGS="$(TARGET_LDFLAGS)" \
-DCMAKE_MODULE_LINKER_FLAGS="$(TARGET_LDFLAGS)" \
-DCMAKE_SHARED_LINKER_FLAGS="$(TARGET_LDFLAGS)" \