瀏覽代碼

cdrkit: fix TARGET_CC/TARGET_CFLAGS for CMake

Since the reorganization of the variables in package/Makefile.in,
TARGET_CC and TARGET_CXX now directly contain the --sysroot= option in
addition to the compiler path. This is due to some ./configure scripts
using just $(TARGET_CC) for some tests instead of $(TARGET_CC)
$(TARGET_CFLAGS).

However, in the case of CMake, this fails as CMake really only wants
the path of the compiler in its CMAKE_C_COMPILER and
CMAKE_CXX_COMPILER variables. So here, we recompute proper values for
CMake by removing the --sysroot option from the compiler variables and
re-adding it to the flags variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni 15 年之前
父節點
當前提交
0eae20b7be
共有 1 個文件被更改,包括 11 次插入3 次删除
  1. 11 3
      package/cdrkit/cdrkit.mk

+ 11 - 3
package/cdrkit/cdrkit.mk

@@ -11,15 +11,23 @@ else
 CMAKE_ENDIAN_OPT=-DBITFIELDS_HTOL=0
 endif
 
+# CMake doesn't support having the --sysroot option directly in the
+# compiler path, so move this option to the CFLAGS/CXXFLAGS variables.
+CDRKIT_TARGET_CC = $(filter-out --sysroot=%,$(TARGET_CC))
+CDRKIT_TARGET_CXX = $(filter-out --sysroot=%,$(TARGET_CXX))
+CDRKIT_TARGET_CFLAGS = $(filter --sysroot=%,$(TARGET_CC)) $(TARGET_CFLAGS)
+CDRKIT_TARGET_CXXFLAGS = $(filter --sysroot=%,$(TARGET_CXX)) $(TARGET_CXXFLAGS)
+
 define CDRKIT_CONFIGURE_CMDS
  -mkdir $(@D)/build
  (cd $(@D)/build ; \
 	$(HOST_DIR)/usr/bin/cmake .. \
 		-Wno-dev \
 		-DCMAKE_SYSTEM_NAME:STRING="Linux" \
-		-DCMAKE_C_COMPILER:FILEPATH="$(TARGET_CC)" \
-		-DCMAKE_CXX_COMPILER:FILEPATH="$(TARGET_CXX)" \
-		-DCMAKE_C_FLAGS:STRING="$(TARGET_CFLAGS)" \
+		-DCMAKE_C_COMPILER:FILEPATH="$(CDRKIT_TARGET_CC)" \
+		-DCMAKE_CXX_COMPILER:FILEPATH="$(CDRKIT_TARGET_CXX)" \
+		-DCMAKE_C_FLAGS:STRING="$(CDRKIT_TARGET_CFLAGS)" \
+		-DCMAKE_CXX_FLAGS:STRING="$(CDRKIT_TARGET_CXXFLAGS)" \
 		-DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
 		-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
 		-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \