Skip to content

Commit

Permalink
fix(cmake): generate versioned shared libraries (lvgl#5865)
Browse files Browse the repository at this point in the history
Signed-off-by: Marek Vasut <[email protected]>
Co-authored-by: Marek Vasut <[email protected]>
  • Loading branch information
marex and Marek Vasut authored Apr 20, 2024
1 parent ffb3e37 commit 2c46927
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 6 deletions.
18 changes: 17 additions & 1 deletion env_support/cmake/custom.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
set(LVGL_VERSION_MAJOR "9")
set(LVGL_VERSION_MINOR "1")
set(LVGL_VERSION_PATCH "1")
set(LVGL_VERSION_INFO "dev")
set(LVGL_VERSION ${LVGL_VERSION_MAJOR}.${LVGL_VERSION_MINOR}.${LVGL_VERSION_PATCH})
set(LVGL_SOVERSION ${LVGL_VERSION_MAJOR})

# Option to define LV_LVGL_H_INCLUDE_SIMPLE, default: ON
option(LV_LVGL_H_INCLUDE_SIMPLE
"Use #include \"lvgl.h\" instead of #include \"../../lvgl.h\"" ON)
Expand Down Expand Up @@ -47,7 +54,7 @@ if(LV_CONF_SKIP)
endif()

# Include root and optional parent path of LV_CONF_PATH
target_include_directories(lvgl SYSTEM PUBLIC ${LVGL_ROOT_DIR} ${LV_CONF_DIR})
target_include_directories(lvgl SYSTEM PUBLIC ${LVGL_ROOT_DIR} ${LV_CONF_DIR} ${CMAKE_CURRENT_BINARY_DIR})


if(NOT LV_CONF_BUILD_DISABLE_THORVG_INTERNAL)
Expand Down Expand Up @@ -120,6 +127,7 @@ endif()


configure_file("${LVGL_ROOT_DIR}/lvgl.pc.in" lvgl.pc @ONLY)
configure_file("${LVGL_ROOT_DIR}/lv_version.h.in" lv_version.h @ONLY)

install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/lvgl.pc"
Expand All @@ -129,6 +137,8 @@ install(
set_target_properties(
lvgl
PROPERTIES OUTPUT_NAME lvgl
VERSION ${LVGL_VERSION}
SOVERSION ${LVGL_SOVERSION}
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
Expand All @@ -147,6 +157,8 @@ if(NOT LV_CONF_BUILD_DISABLE_THORVG_INTERNAL)
set_target_properties(
lvgl_thorvg
PROPERTIES OUTPUT_NAME lvgl_thorvg
VERSION ${LVGL_VERSION}
SOVERSION ${LVGL_SOVERSION}
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
Expand All @@ -165,6 +177,8 @@ if(NOT LV_CONF_BUILD_DISABLE_DEMOS)
set_target_properties(
lvgl_demos
PROPERTIES OUTPUT_NAME lvgl_demos
VERSION ${LVGL_VERSION}
SOVERSION ${LVGL_SOVERSION}
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
Expand All @@ -183,6 +197,8 @@ if(NOT LV_CONF_BUILD_DISABLE_EXAMPLES)
set_target_properties(
lvgl_examples
PROPERTIES OUTPUT_NAME lvgl_examples
VERSION ${LVGL_VERSION}
SOVERSION ${LVGL_SOVERSION}
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
Expand Down
14 changes: 14 additions & 0 deletions lv_version.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**
* @file version.h
* The current version of LVGL
*/

#ifndef LVGL_VERSION_H
#define LVGL_VERSION_H

#define LVGL_VERSION_MAJOR 9
#define LVGL_VERSION_MINOR 1
#define LVGL_VERSION_PATCH 1
#define LVGL_VERSION_INFO "dev"

#endif /*LVGL_VERSION_H*/
14 changes: 14 additions & 0 deletions lv_version.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**
* @file version.h
* The current version of LVGL
*/

#ifndef LVGL_VERSION_H
#define LVGL_VERSION_H

#define LVGL_VERSION_MAJOR @LVGL_VERSION_MAJOR@
#define LVGL_VERSION_MINOR @LVGL_VERSION_MINOR@
#define LVGL_VERSION_PATCH @LVGL_VERSION_PATCH@
#define LVGL_VERSION_INFO "@LVGL_VERSION_INFO@"

#endif /*LVGL_VERSION_H*/
5 changes: 1 addition & 4 deletions lvgl.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@ extern "C" {
/***************************
* CURRENT VERSION OF LVGL
***************************/
#define LVGL_VERSION_MAJOR 9
#define LVGL_VERSION_MINOR 1
#define LVGL_VERSION_PATCH 1
#define LVGL_VERSION_INFO "dev"
#include "lv_version.h"

/*********************
* INCLUDES
Expand Down
2 changes: 1 addition & 1 deletion lvgl.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ libdir=${prefix}/lib
Name: lvgl
Description: Light and Versatile Graphics Library
URL: https://lvgl.io/
Version: 9.1.0
Version: @LVGL_VERSION@
Cflags: -I${includedir}
Libs: -L${libdir} -llvgl

0 comments on commit 2c46927

Please sign in to comment.