我在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以及其他组件......)
知道如何实现这一目标吗?
答案 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)
你也可以使用cmake CONFIGURE_FILE
,参见http://www.cmake.org/cmake/help/cmake2.6docs.html#command%3Aconfigure_file