我正在使用CMake构建一个大型库,希望用户能够选择性地启用/禁用构建过程中的某些部分。
我该如何向我的CMake构建添加命令行选项,例如使用户可以键入类似于cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..
的内容?
显然,OPTION关键字将创建可以从CMake GUI设置的变量,但我无法弄清楚如何从命令行执行此操作。
我正在使用CMake构建一个大型库,希望用户能够选择性地启用/禁用构建过程中的某些部分。
我该如何向我的CMake构建添加命令行选项,例如使用户可以键入类似于cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..
的内容?
显然,OPTION关键字将创建可以从CMake GUI设置的变量,但我无法弄清楚如何从命令行执行此操作。
你应该使用option
命令。你可以通过以下方式从命令行设置选项:
//CMakeLists.txt
option(MyOption "MyOption" OFF)
//Command line
cmake -DMyOption=ON MyProjectFolder
请注意,-DMyOption
必须出现在路径之前。
cmake MyProjectFolder -DMyOption
命令不能开启(或关闭)该选项。 - mabraham-DMyOption=ON
或 -DMyOption=OFF
来打开或关闭选项。 - kvanbere只需要稍作更正:
如果您有其他变量要传递,建议指明这些变量的类型:
//CMakeLists.txt
option(MyOption "MyOption" OFF)
//Command line
cmake -DMyOption:BOOL=ON -D... MyProjectFolder
-D...
必须放在 MyProjectFolder
后面吗?如果是这样,为什么? - John