一般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
其他参考: