Ccache calculates its version from a matching Git tag by using the "git
describe" command, which only considers annotated tags. All ccache tags
are annotated. However, when running a GitHub action job for a tag the
local Git repository is (at least by default) a shallow clone with the
tag being converted to a lightweight tag. This makes "git describe" not
see the tag.
Fix this by adding --tags to "git describe" to make it consider
lightweight tags as well.
Fixes #1270.
ERROR_VARIABLE git_stderr ERROR_STRIP_TRAILING_WHITESPACE)
endmacro()
- git(describe --abbrev=8 --dirty)
+ git(describe --tags --abbrev=8 --dirty)
if(git_stdout MATCHES "^v([^-]+)(-dirty)?$")
set(CCACHE_VERSION "${CMAKE_MATCH_1}")
if(NOT "${CMAKE_MATCH_2}" STREQUAL "")