在C++库中嵌入Git Commit ID
方便版本管理与代码追溯。
在最终生成的二进制库文件中嵌入Git Commit ID,可能不是最完美的方案,但是解决了我现在遇到的问题。
首先在CMake文件中获取git hash。
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
OUTPUT_VARIABLE GIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif()
message(STATUS "Project version: ${GIT_HASH}")
# Define VARIABLE to be used in source code
configure_file(${PROJECT_SOURCE_DIR}/projectConfigure.h.in
${PROJECT_BINARY_DIR}/projectConfigure.h @ONLY)