在C++库中嵌入Git Commit ID

方便版本管理与代码追溯。

在C++库中嵌入Git Commit ID
封面图片由Midjourney生成

在最终生成的二进制库文件中嵌入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)
转发至

微信扫一扫分享

WeChat QR Code

有AI相关的想法,但不知道怎么落地?

我是国冰,独立AI开发者。十多年技术一线——半导体显示、智慧城市到自动驾驶;现在一个人+AI,接AI落地项目,从梳理需求到系统落地,陪你走通。

微信聊聊 微信二维码 看我能做什么