Skip to content

Commit fd7e734

Browse files
committed
Add preliminary support for versioning utilities
1 parent 683d65a commit fd7e734

File tree

3 files changed

+34
-23
lines changed

3 files changed

+34
-23
lines changed

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ endif()
1717
# - Load Custom Modules
1818
list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake)
1919

20+
# - Version number management utilities:
2021
include(BxVersionManager)
2122

22-
# - Versioning
23+
# - Versioning only giving major and minor. Patch number is
24+
# automatically deduced from an external file.
2325
bx_version_set(BxRabbitMQ 0 3)
2426

2527
#-----------------------------------------------------------------------

cmake/BxPackageVersions.db

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
# List of released versions MAJOR.MINOR.PATCH
1+
# List of released versions addressed by their MAJOR.MINOR version number
2+
# and update through a PATCH number:
23
0.3.4
3-
1.0.0
4-
1.1.0
5-
1.2.0
4+
#1.0.0
5+
#1.1.0
6+
#1.2.0
67
# end

cmake/BxVersionManager.cmake

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
# CMake tools for version management
2+
# Author: F.Mauger
3+
# Date: 2017-09-26
4+
# Copyright 2017 (c) François Mauger, Université de Caen Normandie
25

36
function(bx_version_build_version_number prefix_)
47
set(${prefix_}_VERSION
@@ -10,25 +13,30 @@ function(bx_version_extract_patch_from_db major_ minor_ patch_)
1013
# message(STATUS "[info] bx_version_extract_patch_from_db: Entering...")
1114
# message(STATUS "[info] - Major = ${major_}")
1215
# message(STATUS "[info] - Minor = ${minor_}")
13-
file(STRINGS
14-
${PROJECT_SOURCE_DIR}/cmake/BxPackageVersions.db
15-
_bx_package_versions_lines
16-
REGEX "^([0-9]+)\\.([0-9]+)\\.([0-9+])"
17-
)
18-
# message(STATUS "[info] Lines = ${_bx_package_versions_lines}")
19-
foreach(line ${_bx_package_versions_lines})
20-
string(REPLACE "." ";" _version_list ${line})
21-
# message(STATUS "[info] Version list = ${_version_list}")
22-
list(GET _version_list 0 _version_major)
23-
list(GET _version_list 1 _version_minor)
24-
list(GET _version_list 2 _version_patch)
25-
if(${_version_major} EQUAL ${major_})
26-
if(${_version_minor} EQUAL ${minor_})
27-
set(${patch_} ${_version_patch} PARENT_SCOPE)
28-
# message(STATUS "[info] Resolved patch = ${_version_patch}")
16+
set(_version_patch 0)
17+
if (EXISTS ${PROJECT_SOURCE_DIR}/cmake/BxPackageVersions.db)
18+
file(STRINGS
19+
${PROJECT_SOURCE_DIR}/cmake/BxPackageVersions.db
20+
_bx_package_versions_lines
21+
REGEX "^([0-9]+)\\.([0-9]+)\\.([0-9+])"
22+
)
23+
# message(STATUS "[info] Lines = ${_bx_package_versions_lines}")
24+
foreach(line ${_bx_package_versions_lines})
25+
string(REPLACE "." ";" _version_list ${line})
26+
# message(STATUS "[info] Version list = ${_version_list}")
27+
list(GET _version_list 0 _version_major)
28+
list(GET _version_list 1 _version_minor)
29+
list(GET _version_list 2 _version_patch)
30+
if(${_version_major} EQUAL ${major_})
31+
if(${_version_minor} EQUAL ${minor_})
32+
set(${patch_} ${_version_patch} PARENT_SCOPE)
33+
# message(STATUS "[info] Resolved patch = ${_version_patch}")
34+
endif()
2935
endif()
30-
endif()
31-
endforeach()
36+
endforeach()
37+
else()
38+
set(${patch_} ${_version_patch} PARENT_SCOPE)
39+
endif()
3240
# message(STATUS "[info] - New patch is set to : $ {${patch_}}")
3341
# message(STATUS "[info] bx_version_extract_patch_from_db: Exiting.")
3442
endfunction()

0 commit comments

Comments
 (0)