不知道爲什麼這是不工作...以下CMake的腳本運行良好的窗口:Linux的EXEC程序沒有得到輸出值
exec_program(hg ${${PROJECT_NAME}_HGREMOTEDIR}
ARGS "log" "-r" ${${PROJECT_NAME}_HG_HASH_CODE} "--template" "{latesttag}"
OUTPUT_VARIABLE ${PROJECT_NAME}_HG_LAST_TAG)
它獲取最新的標籤。但是,在Fedora 17中,當我嘗試運行${PROJECT_NAME}_HG_LAST_TAG
時,結果空了。
我的第一個想法是,存儲庫的位置有點不對。所以,我試圖運行:
exec_program(hg ${${PROJECT_NAME}_HGREMOTEDIR}
ARGS "log" "-r" ${${PROJECT_NAME}_HG_HASH_CODE}
OUTPUT_VARIABLE ${PROJECT_NAME}_HG_LAST_TAG)
這填補了${PROJECT_NAME}_HG_LAST_TAG
有:
changeset: 368:a7ab3c8aca83
branch: Integration
tag: tip
user: ******
date: Wed Dec 11 10:59:33 2013 -0500
summary: ******
所以後來我想,也許「latesttag」不是supported..But最新標籤「作品」在終端。
>hg log -r a7ab3c8aca83 --template "{latesttag}"
2.0>
所以我的最後一個雖然是由於某種原因, - 模板命令使它很糟糕。所以我做了一個模板,沒有外部的數據
汞柱登錄-r a7ab3c8aca83 --template富
然後在CMake的文件
exec_program(hg ${${PROJECT_NAME}_HGREMOTEDIR}
ARGS "log" "-r" ${${PROJECT_NAME}_HG_HASH_CODE} "--template" "foo"
OUTPUT_VARIABLE ${PROJECT_NAME}_HG_LAST_TAG)
和${PROJECT_NAME}_HG_LAST_TAG
仍然是空的。什麼會造成這種情況?有沒有解決辦法?
第一次完整性檢查:'hg --version'是否顯示與cmake相同的輸出,與您的命令行一樣? –
它確實......我想我明白了。我將在下面的答案中,它似乎是cmake的錯誤 – IdeaHat