cmake-native: rationalise system/internal library dependencies

By default cmake will auto-detect if a library is present on the host and if it
isn't present will use an internal fork.  For some libraries using the internal
fork is preferable as it can be built with less dependencies, but for others
we're either already building it or the impact of building it is comparable to
internal build.

Continue to use the internal fork of libarchive as our libarchive-native has a
large number of build dependencies.  Using the internal libarchive means that
system bzip2 and zlib must be used.

Explicitly use the internal fork of jsoncpp as we don't have this in oe-core.

Explicitly depend on curl-native, expat-native, and xz-native to ensure these
dependencies are not floating.  curl-native is a non-trivial dependency but is
comparable to building the internal fork, so there's no reason to build it
twice.

Change bzip2-native to bzip2-replacement-native as bzip2-native is
ASSUME_PROVIDED.

[ YOCTO #9639 ]

(From OE-Core rev: f9366799aaf4ad2b98345743c7129fa94d092880)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2016-09-13 15:57:03 +01:00 committed by Richard Purdie
parent 04cc7ab0fb
commit bdb10d8358
1 changed files with 4 additions and 2 deletions

View File

@ -1,8 +1,7 @@
require cmake.inc
inherit native
# Using cmake's internal libarchive, so some dependencies are needed
DEPENDS += "bzip2-native zlib-native"
DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native"
SRC_URI += "\
file://cmlibarchive-disable-ext2fs.patch \
@ -14,6 +13,9 @@ do_configure[cleandirs] = "${B}"
# Disable ccmake since we don't depend on ncurses
CMAKE_EXTRACONF = "\
-DBUILD_CursesDialog=0 \
-DCMAKE_USE_SYSTEM_LIBRARIES=1 \
-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
-DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
-DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
-DHAVE_SYS_ACL_H=0 \
"