Skip to contentSkip to conversation

cmake-native: fix to function correctly in case of eSDK

PATCH New Chen Qi 1 participant 2 messages Aug 20, 2018

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover cmake-native: fix to function correctly in case of eSDK

*** BLURB HERE ***
The following changes since commit 9af0f1a46bbb6ad9ee8b35957251f4aa826b023f:

kernel-devsrc: restructure for out of tree (and on target) module builds (2018-08-19 16:35:22 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib ChenQi/cmake-esdk
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/cmake-esdk

Chen Qi (1):
cmake-native: fix to function correctly in case of eSDK

 meta/recipes-devtools/cmake/cmake-native_3.11.4.bb | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/1 cmake-native: fix to function correctly in case of eSDK

Our eSDK is expected to provide traditional SDK's functionality. But for cmake, it could not function well in eSDK.

This problem is discovered by the assimp.py test case. The error message is as below.

testsdkext/tmp/sysroots/x86_64/usr/lib/libz.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status

The problem is about cmake-native being unable to find the correct lib. nativesdk-cmake has solved this problem. So make use of the solution to solve the eSDK problem.

---
 meta/recipes-devtools/cmake/cmake-native_3.11.4.bb | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
meta/recipes-devtools/cmake/cmake-native_3.11.4.bb +15 -1
index 9f371e9..f55c519 100644
@@ -3,7 +3,12 @@ inherit native
 
 DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native"
 
-SRC_URI += "file://0004-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch"
+SRC_URI += "file://0004-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \
+            file://OEToolchainConfig.cmake \
+            file://environment.d-cmake.sh \
+            file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
+            "
+
 
 B = "${WORKDIR}/build"
 do_configure[cleandirs] = "${B}"
@@ -31,6 +36,15 @@ do_compile() {
 
 do_install() {
 	oe_runmake 'DESTDIR=${D}' install
+
+	# The following codes are here because eSDK needs to provide compatibilty
+	# for SDK. That is, eSDK could also be used like traditional SDK.
+	mkdir -p ${D}${datadir}/cmake
+	install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
+	mkdir -p ${D}${base_prefix}/environment-setup.d
+	install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh
 }
 
 do_compile[progress] = "percent"
+
+SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d"
Signature · 1 line
1.9.1