如何使用cmake检测c源文件中的调试版本?

时间:2012-02-02 10:35:57

标签: c cmake

我在CMakeLists.txt文件中设置了这个。

SET(CMAKE_BUILD_TYPE“Debug”)

但是,这不适用于我的C源文件

#if defined(DEBUG)
// not getting here
#else
// getting here instead
#endif

通过将CMAKE_BUILD_TYPE设置为Debug来定义什么符号?

1 个答案:

答案 0 :(得分:2)

找到答案。对于那些刚接触cmake的人来说,这绝对是一个陷阱。

如果您之前使用其他构建类型构建它,似乎更改CMakeLists.txt中的构建类型将不会更改构建类型。原因是它的缓存。

看到我正在构建源代码。即我的源代码树中有一个单独的Build目录。我通常会只运行“cmake ..”

因此清除Build树并运行“cmake ..”再次修复它。 现在正在为我的源文件定义DEBUG,我可以使用make VERBOSE = 1

来验证它

此链接提供了更多详细信息和其他选项:

Understanding why CMAKE_BUILD_TYPE cannot be set