diff options
author | Martijn van Beurden <mvanb1@gmail.com> | 2022-04-20 21:47:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-20 21:47:07 +0200 |
commit | f579b163fe7ccdb0f713001d4253c5d68a3b8280 (patch) | |
tree | a085ae1b5080f292d6b469d1080d4546b348978e /CMakeLists.txt | |
parent | 1ca7b38f3c174a95e391b4251eebfc98ca66fd17 (diff) | |
download | flac-f579b163fe7ccdb0f713001d4253c5d68a3b8280.tar.gz |
Add git commit tag, hash and date to vendor string when available
In some circles (Hydrogenaud.io for example) people share binaries
compiled from git, i.e. inbetween official releases. Files created
with these binaries cannot be discerned from others. To improve
troubleshooting, compiles from a git repository are marked with
the commit hash and date when configured with autotools or CMake
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4174ebb8..0a19fac1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,32 @@ if(WITH_OGG) set(OGG_PACKAGE "ogg") endif() +find_program (HAVE_GIT git) + +if(HAVE_GIT) + execute_process( + COMMAND git describe --tags --exact-match + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_TAG + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + execute_process( + COMMAND git log -1 --pretty=format:%h + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + execute_process( + COMMAND git log -1 --pretty=format:%cd --date=format:%Y%m%d + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) +endif() + find_package(Iconv) set(HAVE_ICONV ${Iconv_FOUND}) |