summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/MacroVersionFromGit.cmake34
1 files changed, 19 insertions, 15 deletions
diff --git a/cmake/MacroVersionFromGit.cmake b/cmake/MacroVersionFromGit.cmake
index 75a1a97..40c56e7 100644
--- a/cmake/MacroVersionFromGit.cmake
+++ b/cmake/MacroVersionFromGit.cmake
@@ -3,30 +3,34 @@ 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})
+ STRING (REPLACE "\n" ";" TAG_LIST ${TAG_LIST})
-set (VERSION_LIST)
+ set (VERSION_LIST)
-foreach (element ${TAG_LIST})
- STRING (REGEX MATCH "^[0-9]+\\.." SINGLE_VERSION ${element})
- LIST (APPEND VERSION_LIST ${SINGLE_VERSION})
-endforeach (element)
+ 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 (REVERSE VERSION_LIST)
-LIST (GET VERSION_LIST 0 VERSION_MISSING_MINOR)
+ 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)
+ 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})
-STRING (REPLACE "\n" ";" COMMIT_LIST ${COMMIT_LIST})
+ LIST (LENGTH COMMIT_LIST MINOR_VERSION)
-LIST (LENGTH COMMIT_LIST MINOR_VERSION)
+ SET (DAEMONVERSION "${VERSION_MISSING_MINOR}.${MINOR_VERSION}")
-SET (DAEMONVERSION "${VERSION_MISSING_MINOR}.${MINOR_VERSION}")
+ENDIF(TAG_LIST)
if (NOT DAEMONVERSION)
#Can be changed via passing -DVERSION="XXX" to cmake