Added git versions.
This commit is contained in:
parent
8efd5fdbff
commit
2b77c01125
4 changed files with 228 additions and 174 deletions
72
components/Serial_Console/generate_git_versions.cmake
Normal file
72
components/Serial_Console/generate_git_versions.cmake
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# Main repository hashes
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_HASH_SHORT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-parse HEAD
|
||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_HASH_LONG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
# Check for uncommitted changes in main repo
|
||||
execute_process(
|
||||
COMMAND git diff-index --quiet HEAD --
|
||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||
RESULT_VARIABLE GIT_DIRTY
|
||||
)
|
||||
|
||||
if(NOT GIT_DIRTY EQUAL 0)
|
||||
set(GIT_HASH_SHORT "${GIT_HASH_SHORT}+")
|
||||
set(GIT_HASH_LONG "${GIT_HASH_LONG}+")
|
||||
endif()
|
||||
|
||||
# SystemK hashes
|
||||
set(SYSTEMK_PATH "${SOURCE_DIR}/components/SystemK")
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${SYSTEMK_PATH}
|
||||
OUTPUT_VARIABLE SYSTEMK_HASH_SHORT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE SYSTEMK_RESULT
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-parse HEAD
|
||||
WORKING_DIRECTORY ${SYSTEMK_PATH}
|
||||
OUTPUT_VARIABLE SYSTEMK_HASH_LONG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
# Check for uncommitted changes in SystemK.
|
||||
execute_process(
|
||||
COMMAND git diff-index --quiet HEAD --
|
||||
WORKING_DIRECTORY ${SYSTEMK_PATH}
|
||||
RESULT_VARIABLE SYSTEMK_DIRTY
|
||||
)
|
||||
|
||||
# Handle the case where SystemK doesn't exist or is not a git repo.
|
||||
if(SYSTEMK_RESULT EQUAL 0)
|
||||
if(NOT SYSTEMK_DIRTY EQUAL 0)
|
||||
set(SYSTEMK_HASH_SHORT "${SYSTEMK_HASH_SHORT}+")
|
||||
set(SYSTEMK_HASH_LONG "${SYSTEMK_HASH_LONG}+")
|
||||
endif()
|
||||
else()
|
||||
set(SYSTEMK_HASH_SHORT "unknown")
|
||||
set(SYSTEMK_HASH_LONG "unknown")
|
||||
endif()
|
||||
|
||||
file(WRITE ${OUTPUT_FILE}
|
||||
"#ifndef GIT_VERSION_H
|
||||
#define GIT_VERSION_H
|
||||
#define GIT_COMMIT_HASH_SHORT \"${GIT_HASH_SHORT}\"
|
||||
#define GIT_COMMIT_HASH_LONG \"${GIT_HASH_LONG}\"
|
||||
#define SYSTEMK_GIT_COMMIT_HASH_SHORT \"${SYSTEMK_HASH_SHORT}\"
|
||||
#define SYSTEMK_GIT_COMMIT_HASH_LONG \"${SYSTEMK_HASH_LONG}\"
|
||||
#endif
|
||||
")
|
||||
Loading…
Add table
Add a link
Reference in a new issue