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:
Renz Christian Bagaporo 2019-08-27 09:24:17 +08:00
parent 520ecb0c4d
commit b6c89984a9
2 changed files with 9 additions and 7 deletions

View file

@ -38,9 +38,9 @@ function(__project_get_revision var)
if(PROJECT_VER_GIT) if(PROJECT_VER_GIT)
set(PROJECT_VER ${PROJECT_VER_GIT}) set(PROJECT_VER ${PROJECT_VER_GIT})
else() else()
message(STATUS "Project is not inside a git repository, \ message(STATUS "Project is not inside a git repository, or git repository has no commits;"
will not use 'git describe' to determine PROJECT_VER.") " will not use 'git describe' to determine PROJECT_VER.")
set(PROJECT_VER "1") set(PROJECT_VER 0)
endif() endif()
endif() endif()
endif() endif()

View file

@ -24,10 +24,12 @@ if(HEAD_CONTENTS MATCHES "ref")
if(EXISTS "@GIT_DIR@/${HEAD_REF}") if(EXISTS "@GIT_DIR@/${HEAD_REF}")
configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
else() else()
configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) if(EXISTS "@GIT_DIR@/packed-refs")
file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY)
if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") file(READ "@GIT_DATA@/packed-refs" PACKED_REFS)
set(HEAD_HASH "${CMAKE_MATCH_1}") if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}")
set(HEAD_HASH "${CMAKE_MATCH_1}")
endif()
endif() endif()
endif() endif()
else() else()