2011-05-13 237 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...