diff options
| author | levlam <levlam@telegram.org> | 2022-07-08 20:56:43 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2022-07-08 20:56:43 +0300 |
| commit | d37ad61f86d0e3fd8df6dd36776b74b2496bf4e5 (patch) | |
| tree | 3d5fd35fb00518ddac5949852f7b7d7c4ab8dcfc /CMake | |
| parent | 1dec0e203ca8110ea53f57830eb5d890a648d0e0 (diff) | |
Generate GIT_COMMIT and GIT_DIRTY from CMake.
Diffstat (limited to 'CMake')
| -rw-r--r-- | CMake/GetGitInfo.cmake | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/CMake/GetGitInfo.cmake b/CMake/GetGitInfo.cmake new file mode 100644 index 000000000..bba1a0b5c --- /dev/null +++ b/CMake/GetGitInfo.cmake @@ -0,0 +1,29 @@ +# sets GIT_COMMIT and GIT_DIRTY CMake variables +function(get_git_info) + find_program(GIT_EXECUTABLE git) + + unset(TD_GIT_COMMIT PARENT_SCOPE) + unset(TD_GIT_DIRTY PARENT_SCOPE) + + execute_process( + COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + OUTPUT_VARIABLE GIT_COMMIT + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + + if (NOT GIT_COMMIT) + return() + endif() + + set(TD_GIT_COMMIT "${GIT_COMMIT}" PARENT_SCOPE) + + execute_process( + COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + RESULT_VARIABLE GIT_DIRTY_RESULT + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + + if (GIT_DIRTY_RESULT) + set(TD_GIT_DIRTY "true" PARENT_SCOPE) + endif() +endfunction() |
