Display git commit in version

This commit is contained in:
sech1
2025-09-14 16:27:26 +02:00
parent 44f8d941a7
commit b69de65e78
3 changed files with 34 additions and 0 deletions

View File

@@ -394,6 +394,8 @@ if (WIN32 AND (CMAKE_BUILD_TYPE STREQUAL "Release"))
add_definitions(-DNDEBUG)
endif()
include(cmake/git.cmake)
add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES})
if (STATIC_BINARY OR STATIC_LIBS)

29
cmake/git.cmake Normal file
View File

@@ -0,0 +1,29 @@
set(GIT_COMMIT "unknown")
find_program(GIT_EXECUTABLE git)
if (GIT_EXECUTABLE)
execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse --short=7 HEAD
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE RET
OUTPUT_VARIABLE COMMIT
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (RET EQUAL 0)
set(GIT_COMMIT "${COMMIT}")
execute_process(COMMAND git status --porcelain
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE RET
OUTPUT_VARIABLE GIT_UNSTAGED
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(GIT_UNSTAGED OR RET)
set(GIT_COMMIT "${GIT_COMMIT} (dirty)")
endif()
endif()
endif()
message(STATUS "You are currently on commit ${GIT_COMMIT}")
add_compile_definitions(GIT_COMMIT="${GIT_COMMIT}")

View File

@@ -74,6 +74,9 @@ const char* VERSION = "v" STR2(P2POOL_VERSION_MAJOR) "." STR2(P2POOL_VERSION_MIN
#elif defined(_MSC_VER)
" with MSVC/" STR2(_MSC_VER)
#endif
#ifdef GIT_COMMIT
" from " GIT_COMMIT
#endif
" on " __DATE__ ")";
std::string p2pool_version()