Rework the version management

PROJECT_VERSION* variables are recognized by cmake. Rename the
PROJECT_VER* variables used for the version.

Create a version file to make it easier to find and update the version.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
This commit is contained in:
Arnaud Pouliquen
2021-04-15 09:37:07 +02:00
committed by Arnaud Pouliquen
parent 28a3bd336a
commit ad87802d6e
4 changed files with 23 additions and 10 deletions
+3
View File
@@ -0,0 +1,3 @@
VERSION_MAJOR = 0
VERSION_MINOR = 1
VERSION_PATCH = 0
+14 -4
View File
@@ -1,7 +1,17 @@
set (PROJECT_VER_MAJOR 0)
set (PROJECT_VER_MINOR 1)
set (PROJECT_VER_PATCH 0)
set (PROJECT_VER 0.1.0)
file(READ ${CMAKE_SOURCE_DIR}/VERSION ver)
string(REGEX MATCH "VERSION_MAJOR = ([0-9]*)" _ ${ver})
set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
string(REGEX MATCH "VERSION_MINOR = ([0-9]*)" _ ${ver})
set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_1})
string(REGEX MATCH "VERSION_PATCH = ([0-9]*)" _ ${ver})
set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_1})
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
message(STATUS "libmetal version: ${PROJECT_VERSION} (${CMAKE_SOURCE_DIR})")
if (NOT DEFINED CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE Debug)
+2 -2
View File
@@ -83,8 +83,8 @@ else (WITH_ZEPHYR)
endif (PROJECT_EC_FLAGS)
set_target_properties (${_lib} PROPERTIES
OUTPUT_NAME "${PROJECT_NAME}"
VERSION "${PROJECT_VER}"
SOVERSION "${PROJECT_VER_MAJOR}"
VERSION "${PROJECT_VERSION}"
SOVERSION "${PROJECT_VERSION_MAJOR}"
)
endif (WITH_SHARED_LIB)
+4 -4
View File
@@ -17,16 +17,16 @@ extern "C" {
#endif
/** Library major version number. */
#define METAL_VER_MAJOR @PROJECT_VER_MAJOR@
#define METAL_VER_MAJOR @PROJECT_VERSION_MAJOR@
/** Library minor version number. */
#define METAL_VER_MINOR @PROJECT_VER_MINOR@
#define METAL_VER_MINOR @PROJECT_VERSION_MINOR@
/** Library patch level. */
#define METAL_VER_PATCH @PROJECT_VER_PATCH@
#define METAL_VER_PATCH @PROJECT_VERSION_PATCH@
/** Library version string. */
#define METAL_VER "@PROJECT_VER@"
#define METAL_VER "@PROJECT_VERSION@"
/** System type (linux, generic, ...). */
#define METAL_SYSTEM "@PROJECT_SYSTEM@"