Files
poky/meta/recipes-devtools/cmake/cmake-native_3.11.4.bb
Chen Qi b92717ae48 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.

(From OE-Core rev: c0561e930e688890eb5feb4521b2de196137227a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-23 07:50:00 +01:00

51 lines
1.5 KiB
BlitzBasic

require cmake.inc
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 \
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}"
# Disable ccmake since we don't depend on ncurses
CMAKE_EXTRACONF = "\
-DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
-DBUILD_CursesDialog=0 \
-DCMAKE_USE_SYSTEM_LIBRARIES=1 \
-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
-DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
-DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
-DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \
-DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
-DHAVE_SYS_ACL_H=0 \
"
do_configure () {
${S}/configure --verbose --prefix=${prefix} -- ${CMAKE_EXTRACONF}
}
do_compile() {
oe_runmake
}
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"