【发布时间】:2012-01-03 08:31:25
【问题描述】:
我有一个使用gcc 和cmake 2.8+ 编译的C/C++ 项目。我知道cmake 支持一些OPTION(XXX "Description..." ON/OFF) 标签。我希望这些构建选项以某种方式导致-DXXX 编译时参数传递给gcc。如何最优雅地做到这一点?
【问题讨论】:
我有一个使用gcc 和cmake 2.8+ 编译的C/C++ 项目。我知道cmake 支持一些OPTION(XXX "Description..." ON/OFF) 标签。我希望这些构建选项以某种方式导致-DXXX 编译时参数传递给gcc。如何最优雅地做到这一点?
【问题讨论】:
如果您只关心添加 -D 编译器标志,那么您想要的命令是
您可以将其包装在 if() 块中,以便使用相关的 option() 来打开:
option(MY_FUNCTIONALITY "Cool functionality" ON)
if(MY_FUNCTIONALITY)
add_definitions(-DENABLE_MY_FUNCTIONALITY)
endif()
【讨论】:
endif(MY_FUNCTIONALITY)吗?