2011-05-13 243 views
84

我正在構建一個使用CMake的大型庫,我希望用戶能夠選擇性地啓用/禁用構建過程的某些部分。將命令行選項添加到CMake

如何將命令行選項添加到我的CMake版本,例如以便用戶可以輸入類似cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..

顯然,OPTION關鍵字將創建可以從CMake GUI設置的變量,但我無法弄清楚如何從命令行執行此操作。

回答

122

是的,你應該使用option命令。您可以通過以下方式從命令行設置選項:

//CMakeLists.txt 
option(MyOption "MyOption" OFF) 

//Command line 
cmake -DMyOption=ON MyProjectFolder 

請注意,-DMyOption必須位於路徑之前。

+5

...和'cmake的myProjectFolder的-DMyOption'不轉選項(或關閉) – mabraham 2013-03-26 13:36:51

+0

在MyProjectFolder之前放置-DMyOption並嘗試一下? – updogliu 2014-02-16 01:08:08

+8

使用'-DMyOption = ON'或'-DMyOption = OFF'打開或關閉。 – kvanberendonck 2014-11-01 03:18:01

9

只要稍微修正:

如果你有其他變量傳遞,它建議以表明論文類型:

//CMakeLists.txt 
option(MyOption "MyOption" OFF) 

//Command line 
cmake -DMyOption:BOOL=ON MyProjectFolder -D...