cmake.mk,rules.mk: fix host builds using CMake and ccache
Commitf98878e4c1("cmake.mk: set C/CXX compiler for host builds as well") has introduced regression as it didn't taken usage of ccache into the account so fix it by handling ccache use cases as well. In order to get this working we need to export HOSTCXX_NOCACHE in rules.mk as well. Fixes:f98878e4c1("cmake.mk: set C/CXX compiler for host builds as well") Reported-by: Ansuel Smith <ansuelsmth@gmail.com> Tested-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
5ca68ef6a1
commit
3e8036c939
@ -18,8 +18,28 @@ else
|
||||
cmake_tool=$(shell which $(1))
|
||||
endif
|
||||
|
||||
CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC_NOCACHE))
|
||||
CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX_NOCACHE))
|
||||
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:=
|
||||
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)
|
||||
endif
|
||||
CMAKE_AR:=$(call cmake_tool,$(TARGET_AR))
|
||||
CMAKE_NM:=$(call cmake_tool,$(TARGET_NM))
|
||||
CMAKE_RANLIB:=$(call cmake_tool,$(TARGET_RANLIB))
|
||||
@ -41,11 +61,12 @@ define Build/Configure/Default
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
|
||||
$(if $(CONFIG_CCACHE),-DCMAKE_CXX_COMPILER_LAUNCHER="$(STAGING_DIR_HOST)/bin/ccache") \
|
||||
$(if $(CONFIG_CCACHE),-DCMAKE_C_COMPILER_LAUNCHER="$(STAGING_DIR_HOST)/bin/ccache") \
|
||||
-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_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)" \
|
||||
@ -86,8 +107,12 @@ define Host/Configure/Default
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER="$(HOSTCC)" \
|
||||
-DCMAKE_CXX_COMPILER="$(HOSTCXX)" \
|
||||
-DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
|
||||
-DCMAKE_C_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" \
|
||||
-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)" \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user