转载自http://aigo.iteye.com/blog/2295102
一般Debug和Release必须在不同的目录下编译,否则每次当切换模式时必须把编译文件全部删掉。
这里假设新建两个目录Debug和Release来分别用于构建相应的模式:
- mkdir Release
- cd Release
- cmake -DCMAKE_BUILD_TYPE=Release ..
- make
- mkdir Debug
- cd Debug
- cmake -DCMAKE_BUILD_TYPE=Debug ..
- make
windows下的注意事项
如果是windows下,想使用CMAKE_BUILD_TYPE参数,cmake时必须用-G"NMake Makefiles",而不能用-G"Visual Studio 14"(这里假设vs2015为例。如果你使用了-G"Visual Studio 14"且要指定release/debug,我觉得应该在msbuild命令参数中设置,具体如何设置还没去研究),否则会提示无法识别CMAKE_BUILD_TYPE。
用法示例:
- cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release path\to\source\dir
- nmake
注意:如果不使用CMAKE_BUILD_TYPE参数,则默认是Debug
其他参考:
http://*.com/questions/7724569/debug-vs-release-in-cmake
cmake简介:https://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html