qmake相当于cmake execute_process()

问题描述 投票:1回答:1

我有一个使用CMake的项目,我通过以下方式获取当前的git哈希:

if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
    execute_process(
        COMMAND git log -1 --format=%H
        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
        OUTPUT_VARIABLE GIT_COMMIT_HASH
        OUTPUT_STRIP_TRAILING_WHITESPACE
    )
else()
    set(GIT_COMMIT_HASH "unknown")
endif()

add_definitions("-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"")

有没有与qmake这样做的同等方法?

c++ cmake qmake
1个回答
0
投票

我找到了答案:

exists( $$PWD/.git) {
    GIT_COMMIT_HASH = $$system(git log -1 --format=%H)
}else{
    GIT_COMMIT_HASH = "unknown"
}

DEFINES += GIT_COMMIT_HASH=\\\"$$GIT_COMMIT_HASH\\\"

适合我。目前在Linux上测试过,我稍后会在Windows上测试它。

© www.soinside.com 2019 - 2024. All rights reserved.