Retrieving tag name in detached mode
authoragrigora <alina.gabriela.grigoras@cern.ch>
Fri, 4 Jul 2014 13:57:45 +0000 (15:57 +0200)
committeragrigora <alina.gabriela.grigoras@cern.ch>
Fri, 4 Jul 2014 14:01:20 +0000 (16:01 +0200)
ALIROOT_BRANCH contains
  - tag name if the tag was checkout in detached mode
  - branch name if the tag was checkout into a branch
  - branch name if the branch is local or remote
  - closest tag to a detached mode into a specific hash

DAALIROOTRELEASE set to ALIROOT_BRANCH

CMakeLists.txt
cmake/CMakeDA.cmake

index 44d1c9a..e2b1877 100644 (file)
@@ -195,19 +195,28 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/.git/)
  
  if(GIT_FOUND)
   get_git_head_revision(GIT_REFSPEC GIT_SHA1)
-  message(STATUS "Aliroot branch - ${GIT_REFSPEC} Revision - ${GIT_SHA1} ")
+
+  # GIT_REFSPEC is empty for detached mode = tags in detached mode or checkout to specific hash
+
+  # returns the closest reference to the current hash
+  # name of the current tag or heads/branch in the case of branches
+  git_describe(ALIROOT_GIT_TAG "--all" "--abbrev=0")
 
   STRING(REGEX REPLACE "^(.+/)(.+)/(.*)$" "\\2" BRANCH_TYPE "${GIT_REFSPEC}" )
-  
+
+  # the revision is not set in the case of a branch, it means we are doing development
+  # and the revision will trigger a reconfiguration
   if(BRANCH_TYPE STREQUAL "heads")
    set(ALIROOT_REVISION "ThisIsaBranchNoRevisionProvided")
+   STRING(REGEX REPLACE "^(.+/)(.+/)(.*)$" "\\3" SHORT_BRANCH "${GIT_REFSPEC}" )
   else()
+   set(SHORT_BRANCH ${ALIROOT_GIT_TAG})
    set(ALIROOT_REVISION ${GIT_SHA1})
   endif()
 
-  STRING(REGEX REPLACE "^(.+/)(.+/)(.*)$" "\\3" SHORT_BRANCH "${GIT_REFSPEC}" )
-
   set(ALIROOT_BRANCH ${SHORT_BRANCH})
+  message(STATUS "Aliroot branch/tag: \"${ALIROOT_BRANCH}\" - Revision:  \"${GIT_SHA1}\" ")
 
  else()
   message("Git not installed. I can't tell you which revision you are using!")
index f2d14b6..d58a30d 100644 (file)
@@ -211,14 +211,7 @@ foreach(detector ${ONLINEDETECTORS} )
          execute_process(COMMAND root-config --version OUTPUT_VARIABLE _darootrelease OUTPUT_STRIP_TRAILING_WHITESPACE)
          string(REGEX REPLACE "/" "." DAROOTRELEASE ${_darootrelease})
        
-       # DAALIROOTRELEASE
-       # string(REGEX REPLACE ".*URL: .*/(.+)/${DASRC}.*$" "\\1" DAALIROOTRELEASE ${_daversion})
-        # string (REPLACE "-" "." DAALIROOTRELEASE "${DAALIROOTRELEASE}")
-       execute_process(COMMAND git branch
-         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-         OUTPUT_STRIP_TRAILING_WHITESPACE
-         OUTPUT_VARIABLE DAALIROOTRELEASE)
-        string (REPLACE "* " "" DAALIROOTRELEASE "${DAALIROOTRELEASE}")
+      set(DAALIROOTRELEASE ${ALIROOT_BRANCH})
        
          set(DAARCNAME "${DATARGETNAME}")
          #string(REPLACE "-" "" DAARCNAME "${DAARCNAME}")