qmake 等效于 cmake execute_process()
Posted
技术标签:
【中文标题】qmake 等效于 cmake execute_process()【英文标题】:qmake equivalent of cmake execute_process() 【发布时间】:2018-09-04 09:35:09 【问题描述】:我有一个使用 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 有没有等效的方法?
【问题讨论】:
为什么要切换到qmake? 这是一个使用 qt creator 创建的不同项目,我们现在不想将所有内容都更改为 cmake。 【参考方案1】:我找到了答案:
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 上测试。
【讨论】:
以上是关于qmake 等效于 cmake execute_process()的主要内容,如果未能解决你的问题,请参考以下文章