Fix variable expansion in conditional overrides

When using conditional override syntax, this should only be combined
with the append/prepend/remove operators. This commit rewrites the
claas-native and class-target overrides such that it does not replace
any recipe set values of EXTRA_OECMAKE (reading the removed syntax it is
very counter-intuitive, but sadly really happens). The problem was:

EXTRA_OECMAKE:class-target += " foo" # from class
EXTRA_OECMAKE += " baa" # from recipe

to be evaluated to EXTRA_OECMAKE = " foo". By this change, the values
are appended as expected, even if the recipe is not using conditional
overrides for the value assignment.
This commit is contained in:
Andreas Cord-Landwehr
2022-04-14 11:23:39 +02:00
parent 385157c3c3
commit b030c4b498

View File

@@ -6,20 +6,23 @@
inherit cmake_qt5
EXTRA_OECMAKE:class-native += " \
EXTRA_OECMAKE:append:class-native = " \
-DOE_KF5_PATH_HOST_ROOT=${STAGING_DIR_HOST} \
-DBUILD_TESTING=OFF \
-DBUILD_DESIGNERPLUGIN=OFF \
"
EXTRA_OECMAKE:class-target += " \
EXTRA_OECMAKE:append:class-target = " \
-DOE_KF5_PATH_HOST_ROOT=${STAGING_DIR_HOST} \
-DBUILD_TESTING=OFF \
-DKF5_HOST_TOOLING=${STAGING_DIR_NATIVE}/${libdir}/cmake \
-DBUILD_DESIGNERPLUGIN=OFF \
"
DEPENDS += "extra-cmake-modules qttools-native"
DEPENDS:append = " \
extra-cmake-modules \
qttools-native \
"
# don't bother with translations for host tools
do_configure:prepend:class-native() {