Browse Source

#IQRV #comment [Other] GIT信息获取

gifur 4 years ago
parent
commit
0aa5373239
2 changed files with 40 additions and 2 deletions
  1. 10 2
      CMakeLists.txt
  2. 30 0
      addin/cmake/GetGitRevisionDescription.cmake

+ 10 - 2
CMakeLists.txt

@@ -75,8 +75,16 @@ if($ENV{PIPELINE_BUILD_ID})
 
 	set(DEVOPS_ON TRUE)
 else()
-	
-endif()
+	# 获取当前的GIT_HASH
+	set(GIT_HASH "unknown")
+	get_git_hash(GIT_HASH)
+	message(STATUS "Git hash is ${GIT_HASH}")
+
+	# 获取当前的分支
+	set(GIT_BRANCH "unknown")
+	get_git_branch(GIT_BRANCH)
+	message(STATUS "Git branch is ${GIT_BRANCH}")
+endif($ENV{PIPELINE_BUILD_ID})
 
 #Set the project version
 set(RAW_VERSION_STRING "0.1.2-dev1")

+ 30 - 0
addin/cmake/GetGitRevisionDescription.cmake

@@ -133,3 +133,33 @@ function(git_get_exact_tag _var)
 	git_describe(out --exact-match ${ARGN})
 	set(${_var} "${out}" PARENT_SCOPE)
 endfunction()
+
+# get git hash
+macro(get_git_hash _git_hash)
+    find_package(Git QUIET)
+    if(GIT_FOUND)
+      execute_process(
+        COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:%h
+        OUTPUT_VARIABLE ${_git_hash}
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+        ERROR_QUIET
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+        )
+    endif()
+endmacro()
+
+# get git branch
+macro(get_git_branch _git_branch)
+    find_package(Git QUIET)
+    if(GIT_FOUND)
+		message("git found: ${GIT_EXECUTABLE} in version: ${GIT_VERSION_STRING}")
+		execute_process(
+		COMMAND ${GIT_EXECUTABLE} symbolic-ref --short -q HEAD
+		OUTPUT_VARIABLE ${_git_branch}
+		OUTPUT_STRIP_TRAILING_WHITESPACE
+		ERROR_QUIET
+		WORKING_DIRECTORY
+		${CMAKE_CURRENT_SOURCE_DIR}
+		)
+    endif()
+endmacro()