2012-10-15 82 views
28

我有一個makefile用於我的項目,並且我傳遞了一些參數,並基於該參數我正在設置一些標誌。我能夠做到這一點。但現在我想用cmake來做同樣的事情。我創建了cmakelist.txt,但我不知道如何傳遞參數並檢查cmakelist.txt中的參數值。通過命令提示符將參數傳遞給CMAKE

樣品我的Makefile:

ifeq "$(FAB)" "po" 
     //setting some flags 
else 
     //setting some iother flag 
endif 

什麼是採取從命令提示符參數,並設置基於該標誌的方式?

回答

46

在的CMakeLists.txt文件,創建緩存的變量,如記錄這裏:

SET(FAB "po" CACHE STRING "Some user-specified option") 

來源:http://cmake.org/cmake/help/v2.8.8/cmake.html#command:set

然後,既可以使用GUI(ccmake或cmake的-GUI)來設置緩存變量,或指定cmake的命令行上的變量的值:

cmake -DFAB:STRING=po 

來源:http://cmake.org/cmake/help/v2.8.8/cmake.html#opt:-Dvar:typevalue

修改您的緩存變量爲布爾值,如果實際上您的選項是布爾值。

相關問題