qmake эквивалент cmake execute_process () - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть проект, использующий 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 голосов
/ 04 сентября 2018

Я нашел ответ:

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.

...