29 lines
812 B
CMake
29 lines
812 B
CMake
|
find_package(Git REQUIRED)
|
||
|
|
||
|
macro(get_git_commit_hash output)
|
||
|
# full commit hash
|
||
|
execute_process(
|
||
|
COMMAND ${GIT_EXECUTABLE} log -1 --format="%H"
|
||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||
|
OUTPUT_VARIABLE ${output}
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
endmacro()
|
||
|
|
||
|
macro(get_git_commit_date output)
|
||
|
# 2024-06-02T20:17:41+00:00
|
||
|
execute_process(
|
||
|
COMMAND ${GIT_EXECUTABLE} log -1 --format="%cI"
|
||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||
|
OUTPUT_VARIABLE ${output}
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
endmacro()
|
||
|
|
||
|
macro(get_git_commit_subject output)
|
||
|
# message from `git commit -m "message"`
|
||
|
execute_process(
|
||
|
COMMAND ${GIT_EXECUTABLE} log -1 --format="%s"
|
||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||
|
OUTPUT_VARIABLE GIT_COMMIT_SUBJECT
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
endmacro()
|