[cmake]如何设置Debug和Release编译模式

一般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://stackoverflow.com/questions/7724569/debug-vs-release-in-cmake

 

你可能感兴趣的:(Build)