Port native tools to use KF5_HOST_TOOLING

The previous hack of just copying the native tools into the target sysroot
has several limitations:
- it no longer works with relative RPATHs being used
- it fails in the case of kpackage where we need the same tools for host
  and target
This commit is contained in:
Volker Krause
2019-02-16 11:43:08 +01:00
parent 62f5ace549
commit 5c95f585bf
46 changed files with 309 additions and 47 deletions

View File

@@ -1,10 +1,16 @@
inherit cmake_qt5
EXTRA_OECMAKE += " \
EXTRA_OECMAKE_class-native += " \
-DOE_KF5_PATH_HOST_ROOT=${STAGING_DIR_HOST} \
-DBUILD_TESTING=OFF \
"
EXTRA_OECMAKE_class-target += " \
-DOE_KF5_PATH_HOST_ROOT=${STAGING_DIR_HOST} \
-DBUILD_TESTING=OFF \
-DKF5_HOST_TOOLING=${STAGING_DIR_NATIVE}/${libdir}/cmake \
"
DEPENDS += "extra-cmake-modules qttools-native"
# don't bother with translations for host tools

9
classes/kauth.bbclass Normal file
View File

@@ -0,0 +1,9 @@
# Class for recipes using KAuth host tools
DEPENDS += " \
kauth \
kauth-native \
polkit-qt-1 \
"
EXTRA_OECMAKE += " -DKF5_HOST_TOOLING=${STAGING_DIR_NATIVE}/${libdir}/cmake"

8
classes/kconfig.bbclass Normal file
View File

@@ -0,0 +1,8 @@
# Class for recipes using kconfig host tools
DEPENDS += " \
kconfig \
kconfig-native \
"
EXTRA_OECMAKE += " -DKF5_HOST_TOOLING=${STAGING_DIR_NATIVE}/${libdir}/cmake"

View File

@@ -0,0 +1,13 @@
# Class for recipes using kcoreaddons host tools
do_compile_prepend() {
# desktoptojson needs to find installed service type files
export XDG_DATA_DIRS=${STAGING_DATADIR}:$XDG_DATA_DIRS
}
DEPENDS += " \
kcoreaddons \
kcoreaddons-native \
"
EXTRA_OECMAKE += " -DKF5_HOST_TOOLING=${STAGING_DIR_NATIVE}/${libdir}/cmake"

View File

@@ -3,8 +3,6 @@
do_compile_prepend() {
# meinproc5 needs to find installed service type files
export XDG_DATA_DIRS=${STAGING_DATADIR}:$XDG_DATA_DIRS
# meinproc5 needs to find its libraries
export LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE}:$LD_LIBRARY_PATH
}
DEPENDS += " \
@@ -13,3 +11,5 @@ DEPENDS += " \
libxslt-native \
karchive-native \
"
EXTRA_OECMAKE += " -DKF5_HOST_TOOLING=${STAGING_DIR_NATIVE}/${libdir}/cmake"