qmake等同于cmake execute_process()

时间:2018-09-04 09:35:10

标签: c++ cmake qmake

我有一个使用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是否有等效的方法?

1 个答案:

答案 0 :(得分: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上对其进行测试。