lvgl: Update to 9.6.0

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>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Thorsten Schmelzer authored and Khem Raj committed 2026-10-09 10:01:41 -07:00
1 parent 8056cc2aa9
commit 2bb57b5d81
3 files changed
+76 -10

No files matched your search

@@ -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"
@@ -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"