Patrick Williams | ac13d5f | 2023-11-24 18:59:46 -0600 | [diff] [blame] | 1 | # SPDX-FileCopyrightText: Huawei Inc. |
| 2 | # |
| 3 | # SPDX-License-Identifier: MIT |
| 4 | |
| 5 | HOMEPAGE = "https://lvgl.io/" |
| 6 | DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI" |
| 7 | SUMMARY = "Light and Versatile Graphics Library" |
| 8 | LICENSE = "MIT" |
| 9 | LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" |
| 10 | |
| 11 | SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3" |
| 12 | SRCREV = "06e229cc7679c01119ca5d905a1f9dad96f475f0" |
| 13 | |
| 14 | inherit cmake |
| 15 | |
| 16 | EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}" |
| 17 | S = "${WORKDIR}/git" |
| 18 | |
| 19 | ALLOW_EMPTY:${PN} = "1" |
| 20 | |
| 21 | LVGL_CONFIG_LV_MEM_CUSTOM ?= "0" |
| 22 | LVGL_CONFIG_LV_COLOR_DEPTH ?= "32" |
| 23 | |
| 24 | # Upstream does not support a default configuration |
| 25 | # but propose a default "disabled" template, which is used as reference |
| 26 | # More configuration can be done using external configuration variables |
| 27 | do_configure:prepend() { |
| 28 | [ -r "${S}/lv_conf.h" ] \ |
| 29 | || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \ |
| 30 | -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \ |
| 31 | \ |
| 32 | -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \ |
| 33 | \ |
| 34 | -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \ |
| 35 | -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \ |
| 36 | -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \ |
| 37 | \ |
| 38 | < "${S}/lv_conf_template.h" > "${S}/lv_conf.h" |
| 39 | } |
| 40 | |
| 41 | FILES:${PN}-dev += "\ |
| 42 | ${includedir}/${PN}/ \ |
| 43 | ${includedir}/${PN}/lvgl/ \ |
| 44 | " |