summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorJens Lorenz <jlorenz@de.adit-jv.com>2016-11-11 15:42:18 +0100
committerChristian as GENIVI Maintainer <genivi-maint-audiomanager@genivi.org>2016-11-14 02:49:46 -0800
commit54153816234f9b1acacf1ee0f8cd267e9fa7c79e (patch)
tree4a77f5c8fe890b7edb645cde31b316c2207559ad /cmake
parent46976539a47140293deaf39e8c8af9cbb3ce57ee (diff)
downloadaudiomanager-54153816234f9b1acacf1ee0f8cd267e9fa7c79e.tar.gz
CMAKE: Added missing quotation marks and enhanced the version extraction.
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/MacroVersionFromGit.cmake31
1 files changed, 28 insertions, 3 deletions
diff --git a/cmake/MacroVersionFromGit.cmake b/cmake/MacroVersionFromGit.cmake
index d146754..75a1a97 100644
--- a/cmake/MacroVersionFromGit.cmake
+++ b/cmake/MacroVersionFromGit.cmake
@@ -1,7 +1,32 @@
# get the current git version
-execute_process(COMMAND git describe --tags WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- OUTPUT_VARIABLE DAEMONVERSION
- OUTPUT_STRIP_TRAILING_WHITESPACE)
+execute_process(COMMAND git tag
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE TAG_LIST
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+STRING (REPLACE "\n" ";" TAG_LIST ${TAG_LIST})
+
+set (VERSION_LIST)
+
+foreach (element ${TAG_LIST})
+ STRING (REGEX MATCH "^[0-9]+\\.." SINGLE_VERSION ${element})
+ LIST (APPEND VERSION_LIST ${SINGLE_VERSION})
+endforeach (element)
+
+LIST (REVERSE VERSION_LIST)
+
+LIST (GET VERSION_LIST 0 VERSION_MISSING_MINOR)
+
+execute_process(COMMAND git --no-pager log --pretty=oneline HEAD...${VERSION_MISSING_MINOR}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE COMMIT_LIST
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+STRING (REPLACE "\n" ";" COMMIT_LIST ${COMMIT_LIST})
+
+LIST (LENGTH COMMIT_LIST MINOR_VERSION)
+
+SET (DAEMONVERSION "${VERSION_MISSING_MINOR}.${MINOR_VERSION}")
if (NOT DAEMONVERSION)
#Can be changed via passing -DVERSION="XXX" to cmake