[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

猜你喜欢

转载自aigo.iteye.com/blog/2295102