diff options
| author | ilotterytea <iltsu@alright.party> | 2025-12-04 17:47:33 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-12-04 17:47:33 +0500 |
| commit | 6711c33204deb3a10eb447f74813352ff24ec8e6 (patch) | |
| tree | 00c3579050697cb9a1a62f168b560a86fc59b700 | |
| parent | 0c8746bb0e8ca470a7f682d3fcfb7a756bb9c6a5 (diff) | |
feat: display git commit ID as bot version
| -rw-r--r-- | CMakeLists.txt | 33 | ||||
| -rw-r--r-- | bot/CMakeLists.txt | 2 |
2 files changed, 34 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e88ce4..cbaa659 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,39 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +# getting Git information +find_package(Git QUIET) +if (GIT_FOUND) + # get git tag + execute_process( + COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0 + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_TAG + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(NOT GIT_TAG) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + set(BOT_VERSION_STRING "commit ${GIT_COMMIT_HASH}") + else() + execute_process( + COMMAND ${GIT_EXECUTABLE} describe --tags --long --dirty --always + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_DESCRIBE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + set(BOT_VERSION_STRING "commit ${GIT_DESCRIBE}") + endif() +else() + set(BOT_VERSION_STRING "v${PROJECT_VERSION}") +endif() + option(BUILD_BOT "Build the bot" ON) option(BUILD_WEB "Build the web application" ON) diff --git a/bot/CMakeLists.txt b/bot/CMakeLists.txt index c1e14e1..53771b5 100644 --- a/bot/CMakeLists.txt +++ b/bot/CMakeLists.txt @@ -18,7 +18,7 @@ endif() string(TIMESTAMP PROJECT_COMPILE_TIME "%s") target_compile_definitions(Bot PRIVATE - BOT_VERSION="${PROJECT_VERSION}" + BOT_VERSION="${BOT_VERSION_STRING}" BOT_COMPILED_TIMESTAMP=${PROJECT_COMPILE_TIME} ) |
