Skip to content

Commit 3882866

Browse files
nashifAnas Nashif
authored andcommitted
cmake: fixed version handling
Use VERSION in top directory to specify version Signed-off-by: Anas Nashif <[email protected]>
1 parent fa48b93 commit 3882866

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

cmake/version.cmake

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,43 @@
1-
set(PROJECT_VERSION_MAJOR 1)
2-
set(PROJECT_VERSION_MINOR 9)
3-
set(PROJECT_VERSION_PATCH 99)
4-
set(PROJECT_VERSION_TWEAK 0)
1+
include($ENV{ZEPHYR_BASE}/cmake/hex.cmake)
2+
file(READ $ENV{ZEPHYR_BASE}/VERSION ver)
3+
4+
string(REGEX MATCH "VERSION_MAJOR = ([0-9]*)" _ ${ver})
5+
set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
6+
7+
string(REGEX MATCH "VERSION_MINOR = ([0-9]*)" _ ${ver})
8+
set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_1})
9+
10+
string(REGEX MATCH "PATCHLEVEL = ([0-9]*)" _ ${ver})
11+
set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_1})
12+
13+
string(REGEX MATCH "VERSION_TWEAK = ([0-9]*)" _ ${ver})
14+
set(PROJECT_VERSION_TWEAK ${CMAKE_MATCH_1})
15+
16+
string(REGEX MATCH "EXTRAVERSION = (.*)" _ ${ver})
17+
set(PROJECT_VERSION_EXTRA ${CMAKE_MATCH_1})
18+
19+
20+
message("Zephyr version: ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
521

622
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
723
if(PROJECT_VERSION_TWEAK)
824
set(PROJECT_VERSION "${PROJECT_VERSION}.${PROJECT_VERSION_TWEAK}")
925
endif()
1026

1127
set(MAJOR ${PROJECT_VERSION_MAJOR}) # Temporary convenience variable
28+
set(MINOR ${PROJECT_VERSION_MINOR}) # Temporary convenience variable
29+
set(PATCH ${PROJECT_VERSION_PATCH}) # Temporary convenience variable
30+
31+
math(EXPR ZEPHYR_VERSION_CODE "(${MAJOR} << 16) + (${MINOR} << 8) + (${PATCH})")
32+
math(EXPR KERNEL_VERSION_NUMBER_INT "(${MAJOR} << 16) + (${MINOR} << 8) + (${PATCH})")
33+
math(EXPR KERNELVERSION_INT "(${MAJOR} << 24) + (${MINOR} << 16) + (${PATCH} << 8) + ${PROJECT_VERSION_TWEAK}")
1234

13-
math(EXPR ZEPHYR_VERSION_CODE "(${MAJOR} << 16) + (${MAJOR} << 8) + (${MAJOR})")
14-
math(EXPR KERNELVERSION "(${MAJOR} << 16) + (${MAJOR} << 8) + (${MAJOR})")
15-
math(EXPR KERNEL_VERSION_NUMBER "(${MAJOR} << 24) + (${MAJOR} << 16) + (${MAJOR} << 8) + ${PROJECT_VERSION_TWEAK}")
35+
to_hex(${KERNELVERSION_INT} KERNELVERSION)
36+
to_hex(${KERNEL_VERSION_NUMBER_INT} KERNEL_VERSION_NUMBER)
1637

1738
unset(MAJOR)
39+
unset(MINOR)
40+
unset(PATCH)
1841

1942
set(KERNEL_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
2043
set(KERNEL_VERSION_MINOR ${PROJECT_VERSION_MINOR})

0 commit comments

Comments
 (0)