summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2018-08-20 16:57:54 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-23 07:45:32 +0100
commitc0561e930e688890eb5feb4521b2de196137227a (patch)
tree493f9350aca9fce4c87d6ed4ac8fe67fa9bc0a76
parent82edd652860a2a1430692af402f0df639161b767 (diff)
downloadopenembedded-core-contrib-c0561e930e688890eb5feb4521b2de196137227a.tar.gz
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. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/cmake/cmake-native_3.11.4.bb16
1 files changed, 15 insertions, 1 deletions
diff --git a/meta/recipes-devtools/cmake/cmake-native_3.11.4.bb b/meta/recipes-devtools/cmake/cmake-native_3.11.4.bb
index 9f371e9b0c..f55c519c8c 100644
--- a/meta/recipes-devtools/cmake/cmake-native_3.11.4.bb
+++ b/meta/recipes-devtools/cmake/cmake-native_3.11.4.bb
@@ -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"