new file mode 100644
@@ -0,0 +1,71 @@
+From a9841c03f4670d1b0373cb869573740df92cd1cf Mon Sep 17 00:00:00 2001
+From: Thorsten Schmelzer <t.schmelzer@phytec.de>
+Date: Tue, 6 Oct 2026 11:58:15 +0200
+Subject: [PATCH] build(cmake): generate proper .so links when installing
+ shared library
+
+Commit 789d453 removed the set_target_properties sections for the
+library installations. That results in only the plain liblvgl.so being
+installed in the install location, when building a shared library.
+Other package and build systems (like yocto), however expect to have a
+proper versioned library and links like this:
+liblvgl.so -> liblvgl.so.9
+liblvgl.so.9 -> liblvgl.so.9.6.0
+liblvgl.so.9.6.0
+
+Fix this by setting VERSION and SOVERSION in set_target_properties
+for lvgl, lvgl_demos and lvgl_examples library targets.
+
+Upstream-Status: Backport [8df3de9c4c5e45ad7b0fef5adc2fa6eaa5d21579]
+
+Signed-off-by: Thorsten Schmelzer <t.schmelzer@phytec.de>
+---
+ env_support/cmake/install.cmake | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/env_support/cmake/install.cmake b/env_support/cmake/install.cmake
+index cb647af9ea9b..93a0272f81c8 100644
+--- a/env_support/cmake/install.cmake
++++ b/env_support/cmake/install.cmake
+@@ -91,6 +91,13 @@ install(
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/lvgl"
+ )
+
++set_target_properties(
++ lvgl
++ PROPERTIES OUTPUT_NAME lvgl
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
++)
++
+ install(TARGETS lvgl
+ EXPORT lvglTargets
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -132,6 +139,13 @@ if(CONFIG_LV_BUILD_DEMOS)
+ FILES_MATCHING PATTERN "*.h"
+ )
+
++ set_target_properties(
++ lvgl_demos
++ PROPERTIES OUTPUT_NAME lvgl_demos
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
++ )
++
+ # Demo library target (if you build one)
+ install(TARGETS lvgl_demos
+ EXPORT lvglDemosTargets
+@@ -155,6 +169,13 @@ if(CONFIG_LV_BUILD_EXAMPLES)
+ FILES_MATCHING PATTERN "*.h"
+ )
+
++ set_target_properties(
++ lvgl_examples
++ PROPERTIES OUTPUT_NAME lvgl_examples
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
++ )
++
+ install(TARGETS lvgl_examples
+ EXPORT lvglExamplesTargets
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -27,13 +27,6 @@ inherit cml1 python3native
EXTRA_OECMAKE += "-DLV_BUILD_USE_KCONFIG=ON"
-LVGL_FLAGS += " \
- ${@bb.utils.contains('PACKAGECONFIG', 'drm', '-I${STAGING_INCDIR}/libdrm', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'freetype', '-I${STAGING_INCDIR}/freetype2', '', d)} \
-"
-CFLAGS += "${LVGL_FLAGS}"
-CXXFLAGS += "${LVGL_FLAGS}"
-
KCONFIG_CONFIG_ROOTDIR ?= "${S}"
KCONFIG_FILE ?= "${KCONFIG_CONFIG_ROOTDIR}/Kconfig"
export KCONFIG_CONFIG ?= "${KCONFIG_CONFIG_ROOTDIR}/.config"
similarity index 71%
rename from meta-oe/recipes-graphics/lvgl/lvgl_9.5.0.bb
rename to meta-oe/recipes-graphics/lvgl/lvgl_9.6.0.bb
@@ -9,11 +9,13 @@ HOMEPAGE = "https://lvgl.io/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=4570b6241b4fced1d1d18eb691a0e083"
-SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v9.5;tag=v9.5.0"
+SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v9.6;tag=v9.6.0 \
+ file://0001-build-cmake-generate-proper-.so-links-when-installin.patch \
+ "
-SRCREV = "85aa60d18b3d5e5588d7b247abf90198f07c8a63"
+SRCREV = "80ca777e37a2b176770726a02e07a6fb79ef0b39"
-inherit cmake
+inherit cmake pkgconfig
EXTRA_OECMAKE += "-DLIB_INSTALL_DIR=${baselib} -DBUILD_SHARED_LIBS=ON"
Add pkgconfig inherit and drop manually adding include paths to CFLAGS and CXXFLAGS. The lvgl cmake can handle this meanwhile. Add a patch to fix missing version and links for installed .so files. Signed-off-by: Thorsten Schmelzer <t.schmelzer@phytec.de> --- ...rate-proper-.so-links-when-installin.patch | 71 +++++++++++++++++++ meta-oe/recipes-graphics/lvgl/lv-conf.inc | 7 -- .../lvgl/{lvgl_9.5.0.bb => lvgl_9.6.0.bb} | 8 ++- 3 files changed, 76 insertions(+), 10 deletions(-) create mode 100644 meta-oe/recipes-graphics/lvgl/files/0001-build-cmake-generate-proper-.so-links-when-installin.patch rename meta-oe/recipes-graphics/lvgl/{lvgl_9.5.0.bb => lvgl_9.6.0.bb} (71%)