检查C ++源代码中的CMake选项

时间:2012-10-11 13:43:19

标签: c++ g++ cmake

我在CMake中定义了以下选项:

option(OURAPP-DEV-USE_EXTREME_DEBUGGING "Use extreme debugging features" OFF)

我想在C ++文件中检查是否已选中此选项(在CMake-GUI中)。

即。编写C ++代码,如:

#if OURAPP-DEV-USE_EXTREME_DEBUGGING
 print_extra_debugging();
#endif

请注意,我们的项目设置要求组件选项之间有-(例如OURAPP和DEV以及其他组件......)

知道如何实现这一目标吗?

2 个答案:

答案 0 :(得分:5)

使用预处理器定义将CMake选项传送到C ++世界。

IF(OURAPP-DEV-USE_EXTREME_DEBUGGING)
    ADD_DEFINITIONS(-DUSE_EXTREME_DEBUGGING)
ENDIF()

在引擎盖下,这会将define添加到编译器命令行,然后可供预处理器使用:

#ifdef USE_EXTREME_DEBUGGING
    print_extra_debugging();
#endif

请注意,连字符不是C预处理程序标记中的有效字符,因此您必须更改定义中的名称。

答案 1 :(得分:0)