cmake杂谈
众所周知 C++项目通常在开发时关闭优化以方便调试,在发布时开启优化以获得更高的性能,通常这是通过开发时给编译器传递-g
选项,而在发布时给编译器传递-O2
选项实现的。在某次使用 cmake 时我了解到了CMAKE_BUILT_TYPE
的概念,这个变量有Debug
,Release
,RelWithDebInfo
, MinSizeRel
四种典型的值,但当我翻开 cmake 文档时发现 cmake 并没有说明CMAKE_BUILT_TYPE
会对优化参数有什么影响,而经过我的实验,当CMAKE_BUILT_TYPE
设为Debug
时确实会传递-g
。于是我研究了一番CMAKE_BUILT_TYPE
如何影响到编译器参数的