我在CMake中定义了以下选项:
option(OURAPP-DEV-USE_EXTREME_DEBUGGING "Use extreme debugging features" OFF)
Run Code Online (Sandbox Code Playgroud)
我想在C++文件中检查是否已选中此选项(在CMake-GUI中).
即编写C++代码,如:
#if OURAPP-DEV-USE_EXTREME_DEBUGGING
print_extra_debugging();
#endif
Run Code Online (Sandbox Code Playgroud)
请注意,我们的项目设置要求-在组件之间有一个选项(例如OURAPP和DEV以及其他......)
知道如何实现它吗?
使用预处理器定义将CMake选项传送到C++世界.
IF(OURAPP-DEV-USE_EXTREME_DEBUGGING)
ADD_DEFINITIONS(-DUSE_EXTREME_DEBUGGING)
ENDIF()
Run Code Online (Sandbox Code Playgroud)
在引擎盖下,这会将定义添加到编译器命令行,然后可供预处理器使用:
#ifdef USE_EXTREME_DEBUGGING
print_extra_debugging();
#endif
Run Code Online (Sandbox Code Playgroud)
请注意,连字符不是C预处理程序标记中的有效字符,因此您必须更改define中的名称.