【问题标题】:Adding command line options to CMake向 CMake 添加命令行选项
【发布时间】:2011-08-25 06:52:36
【问题描述】:

我正在使用 CMake 构建一个大型库,我希望用户能够有选择地启用/禁用我的构建过程的某些部分。

如何在我的 CMake 构建中添加命令行选项,例如这样用户就可以输入类似cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..?

显然 OPTION 关键字将创建可以从 CMake GUI 设置的变量,但我不知道如何从命令行执行此操作。

【问题讨论】:

  • 感谢您的提问,因为它回答了我关于 cmake 选项用途的问题。所以,我现在看到它是用于 GUI 的

标签: command-line cmake


【解决方案1】:

稍微修正一下:

如果还有其他变量要传递,建议指明这些的类型:

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

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

【讨论】:

    【解决方案2】:

    是的,您应该使用option 命令。您可以通过这种方式从命令行设置选项:

    //CMakeLists.txt
    option(MyOption "MyOption" OFF)
    
    //Command line
    cmake -DMyOption=ON MyProjectFolder
    

    注意-DMyOption 必须在路径之前。

    【讨论】:

    • ... 和 cmake MyProjectFolder -DMyOption 不会打开(或关闭)该选项
    • 把 -DMyOption 放在 MyProjectFolder 之前试试看?
    • 使用-DMyOption=ON-DMyOption=OFF 开启或关闭。
    • 我刚刚注意到,当我试图构建一个第三方模块时,在 CMakeLists.txt 中使用“set(NAME blahblah)”设置的项目可以用 cmake 命令行上的 -DNAME=overridingValue 覆盖,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    相关资源
    最近更新 更多