diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..d6a0f3a --- /dev/null +++ b/VERSION @@ -0,0 +1,3 @@ +VERSION_MAJOR = 0 +VERSION_MINOR = 1 +VERSION_PATCH = 0 diff --git a/cmake/options.cmake b/cmake/options.cmake index 25c7c96..4b86616 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -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) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0a93487..121e0c6 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -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) diff --git a/lib/config.h b/lib/config.h index 6cc739c..7661a13 100644 --- a/lib/config.h +++ b/lib/config.h @@ -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@"