cmake: fix build failure when git repo is initialized but no first commit
Closes https://github.com/espressif/esp-idf/issues/3920
This commit is contained in:
parent
520ecb0c4d
commit
b6c89984a9
2 changed files with 9 additions and 7 deletions
|
@ -38,9 +38,9 @@ function(__project_get_revision var)
|
|||
if(PROJECT_VER_GIT)
|
||||
set(PROJECT_VER ${PROJECT_VER_GIT})
|
||||
else()
|
||||
message(STATUS "Project is not inside a git repository, \
|
||||
will not use 'git describe' to determine PROJECT_VER.")
|
||||
set(PROJECT_VER "1")
|
||||
message(STATUS "Project is not inside a git repository, or git repository has no commits;"
|
||||
" will not use 'git describe' to determine PROJECT_VER.")
|
||||
set(PROJECT_VER 0)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -24,12 +24,14 @@ if(HEAD_CONTENTS MATCHES "ref")
|
|||
if(EXISTS "@GIT_DIR@/${HEAD_REF}")
|
||||
configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
|
||||
else()
|
||||
if(EXISTS "@GIT_DIR@/packed-refs")
|
||||
configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY)
|
||||
file(READ "@GIT_DATA@/packed-refs" PACKED_REFS)
|
||||
if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}")
|
||||
set(HEAD_HASH "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
# detached HEAD
|
||||
configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
|
||||
|
|
Loading…
Reference in a new issue