diff options
author | GENIVI Audio Manager Maintainer <GeniviAMmaintainer@users.noreply.github.com> | 2016-11-22 13:37:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-22 13:37:35 +0100 |
commit | 70f3263edf097b7990fcd2d27d4d47da34b6c0da (patch) | |
tree | f2a5e4482b4893315600fe7bcb822fa5260fb944 /cmake/MacroVersionFromGit.cmake | |
parent | 0b8e04d293612d119227809fc678c90a39a51d3d (diff) | |
parent | 90f28dc6a890f9732596e6550d138e997b186297 (diff) | |
download | audiomanager-70f3263edf097b7990fcd2d27d4d47da34b6c0da.tar.gz |
Merge pull request #7 from GENIVI/pull_request
talked through in telefone conference
Diffstat (limited to 'cmake/MacroVersionFromGit.cmake')
-rw-r--r-- | cmake/MacroVersionFromGit.cmake | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/cmake/MacroVersionFromGit.cmake b/cmake/MacroVersionFromGit.cmake index d146754..40c56e7 100644 --- a/cmake/MacroVersionFromGit.cmake +++ b/cmake/MacroVersionFromGit.cmake @@ -1,7 +1,36 @@ # 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) + +IF(TAG_LIST) + + 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}") + +ENDIF(TAG_LIST) if (NOT DAEMONVERSION) #Can be changed via passing -DVERSION="XXX" to cmake |