From 1cdbdc4dbff91a61503e86e2dfd7abec3d43a968 Mon Sep 17 00:00:00 2001 From: Jens Lorenz Date: Tue, 14 Feb 2017 17:46:28 +0100 Subject: CMake: Allow to specify manually the version without git repo. Signed-off-by: Guerra Mattia --- cmake/MacroVersionFromGit.cmake | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/cmake/MacroVersionFromGit.cmake b/cmake/MacroVersionFromGit.cmake index 40c56e7..d574f26 100644 --- a/cmake/MacroVersionFromGit.cmake +++ b/cmake/MacroVersionFromGit.cmake @@ -3,34 +3,32 @@ 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}) +IF (TAG_LIST AND NOT VERSION) + 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}") - -ENDIF(TAG_LIST) + SET (DAEMONVERSION "${VERSION_MISSING_MINOR}.${MINOR_VERSION}") +ENDIF (TAGLIST AND NOT VERSION) if (NOT DAEMONVERSION) #Can be changed via passing -DVERSION="XXX" to cmake -- cgit v1.2.1