在源C++中检查CMake的选项
Check CMake's option in C++ source
我在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 以及其他......
知道如何实现它吗?
使用预处理器定义将 CMake 选项传输到C++世界。
IF(OURAPP-DEV-USE_EXTREME_DEBUGGING)
ADD_DEFINITIONS(-DUSE_EXTREME_DEBUGGING)
ENDIF()
在后台,这会将定义添加到编译器命令行,然后可供预处理器使用:
#ifdef USE_EXTREME_DEBUGGING
print_extra_debugging();
#endif
请注意,连字符不是 C 预处理器令牌中的有效字符,因此您必须更改定义中的名称。
您也可以使用 cmake CONFIGURE_FILE
,参见 http://www.cmake.org/cmake/help/cmake2.6docs.html#command%3Aconfigure_file
相关文章:
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 通过ccmake在cmake中缓存依赖选项
- CMake - 更改共享库链接选项
- 以现代 CMake 方式控制包含的库中的构建选项(测试等)
- OpenSSL with CMake - 未知选项: --sysroot 在构建 openSSL 时
- 为什么cmake还为导入的包添加编译选项
- 错误:必须设置CMake工具才能生成.在工具包选项中配置CMake工具
- CMake:如何清除目标编译选项
- 我可以通过设置工具链文件来替换调用 cmake -G<generator> 选项和调用 vcvarsall.bat吗?
- 在现代CMAKE中设置全球选项
- 如何在CMAKE中使用不同的编译选项进行编译
- cMake中的pthread和-pthread选项有什么区别?
- CMake:有没有办法将选项传递给 g++ 而不是 nvcc
- 制作文件后启用cmake选项/标志
- C++11 cmake O3 选项<没有用于初始化 'std::thread' 的匹配构造函数>
- 在源C++中检查CMake的选项
- CMake 是否add_compile_options在适当时影响链接器选项
- 如何使用CMake为visual studio 2010设置图书管理员选项/忽略:4221
- 如何将 'cmake' 中的 qtconfig 选项更改为 qtconfig4?
- 使用 cmake 传递复合编译器选项