From 54153816234f9b1acacf1ee0f8cd267e9fa7c79e Mon Sep 17 00:00:00 2001 From: Jens Lorenz Date: Fri, 11 Nov 2016 15:42:18 +0100 Subject: CMAKE: Added missing quotation marks and enhanced the version extraction. Signed-off-by: Jens Lorenz --- cmake/MacroVersionFromGit.cmake | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'cmake/MacroVersionFromGit.cmake') 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 -- cgit v1.2.1 From 90f28dc6a890f9732596e6550d138e997b186297 Mon Sep 17 00:00:00 2001 From: Christian as GENIVI Maintainer Date: Mon, 14 Nov 2016 05:09:22 -0800 Subject: make macro work without git Signed-off-by: Christian as GENIVI Maintainer --- cmake/MacroVersionFromGit.cmake | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'cmake/MacroVersionFromGit.cmake') 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 -- cgit v1.2.1