Skip to content

Commit 719fdbf

Browse files
authored
[Comgr] Fix obtaining git's commit and branch (llvm#3893)
2 parents 1201af1 + 0f26c25 commit 719fdbf

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

amd/comgr/CMakeLists.txt

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,31 @@ project(amd_comgr VERSION "${ver_major}.${ver_minor}.0" LANGUAGES C CXX)
1313
set(amd_comgr_NAME "${PROJECT_NAME}")
1414

1515
# Get git branch and commit hash to add to log for easier debugging.
16-
# Modeled after https://github.com/pmirshad/cmake-with-git-metadata.
17-
# Current working branch
18-
if(EXISTS "${CMAKE_SOURCE_DIR}/../../.git")
19-
execute_process(
20-
COMMAND git rev-parse --abbrev-ref HEAD
21-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
22-
OUTPUT_VARIABLE AMD_COMGR_GIT_BRANCH
23-
OUTPUT_STRIP_TRAILING_WHITESPACE
24-
)
25-
# Shortened commit hash
2616
execute_process(
2717
COMMAND git log -1 --format=%h
28-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
18+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
2919
OUTPUT_VARIABLE AMD_COMGR_GIT_COMMIT
3020
OUTPUT_STRIP_TRAILING_WHITESPACE
21+
RESULT_VARIABLE GIT_REV_PARSE_EXITCODE
3122
)
32-
else(EXISTS "${CMAKE_SOURCE_DIR}/../../.git")
23+
24+
if (${GIT_REV_PARSE_EXITCODE} EQUAL 0)
25+
execute_process(
26+
COMMAND git log -1 --format=%h
27+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
28+
OUTPUT_VARIABLE AMD_COMGR_GIT_COMMIT
29+
OUTPUT_STRIP_TRAILING_WHITESPACE
30+
)
31+
execute_process(
32+
COMMAND git name-rev --name-only HEAD
33+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
34+
OUTPUT_VARIABLE AMD_COMGR_GIT_BRANCH
35+
OUTPUT_STRIP_TRAILING_WHITESPACE
36+
)
37+
else()
3338
set(AMD_COMGR_GIT_BRANCH "not-available")
3439
set(AMD_COMGR_GIT_COMMIT "not-available")
35-
endif(EXISTS "${CMAKE_SOURCE_DIR}/../../.git")
40+
endif()
3641

3742
include(GNUInstallDirs)
3843
include(CMakePackageConfigHelpers)

0 commit comments

Comments
 (0)