【问题标题】:CMAKE options to -DXXX compiler arguments-DXXX 编译器参数的 CMAKE 选项
【发布时间】:2012-01-03 08:31:25
【问题描述】:

我有一个使用gcccmake 2.8+ 编译的C/C++ 项目。我知道cmake 支持一些OPTION(XXX "Description..." ON/OFF) 标签。我希望这些构建选项以某种方式导致-DXXX 编译时参数传递给gcc。如何最优雅地做到这一点?

【问题讨论】:

    标签: c++ c gcc cmake


    【解决方案1】:

    如果您只关心添加 -D 编译器标志,那么您想要的命令是

    add_definitions()

    您可以将其包装在 if() 块中,以便使用相关的 option() 来打开:

    option(MY_FUNCTIONALITY "Cool functionality" ON)
    
    if(MY_FUNCTIONALITY)
      add_definitions(-DENABLE_MY_FUNCTIONALITY)
    endif()
    

    【讨论】:

    • 不应该是endif(MY_FUNCTIONALITY)吗?
    • 这曾经是必需的语法,但现在它是可选的。风格上我不确定什么是首选。
    • 将关闭命令留空(就像答案一样)当然是现代 CMake 的首选风格。干燥等等。
    猜你喜欢
    • 2017-11-01
    • 2015-09-07
    • 2019-03-02
    • 2018-06-19
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多