2014-12-02 58 views
0

標準cmake if()else()語句在cmake執行期間被求值。是否可以通過在CMakeLists.txt中聲明它來將if/else放入makefile?CMake if語句在makefile中求值

+1

這將如何幫助您構建軟件?你能舉一個明確的例子嗎? – 2014-12-02 13:36:02

+0

不是直接。但是有很多方法可以表達各種構建時間條件。細節需要。 – Peter 2014-12-02 14:56:43

+0

是的,這是一個x vs y問題。你的問題應該是「我如何在構建時有條件地執行X」而不是上面的問題。 CMakeList.txt中的'if()else()'控制語句僅在生成時運行,但在編譯時99%的「if else」實際上只是在生成時間。 – IdeaHat 2014-12-03 14:16:53

回答

0

CMake可以在「進程腳本」和「命令」模式下運行(請參閱documentation瞭解-P-E標誌)。您可以利用這個來創建自定義目標,這會調用cmake來完成所需的任務。

這個目標將會在Makefile中結束,所以你將能夠執行它,而不需要在構建目錄中運行cmake