CMake笔记:cmake -G “NMake Makefiles“ 后,如何生成debug与release?
1. 单配置生成器
使用 NMake Makefiles 生成器时,CMake 默认是单配置生成器(即每次只能生成一种构建类型,如 Debug 或 Release)。
所以要针对不同的config建不同的目录,通过CMAKE_BUILD_TYPE来控制生成不同nmake file。
新建目录build_debug,build_release
进入build_debug目录,执行以下命令,生产Debug类型
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug .\..
进入build_release目录,执行以下命令,生成Release类型
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release .\..
注:
- 传给CMAKE_BUILD_TYPE的值,不区分大小写,可以是Release,release,RELEASE,Debug,debug等等。
- 命令行要在处在对应的vs环境,否则会报错:在环境变量中找不到cl.exe。确保调用vcvarsall.bat之类的初始化了环境,或直接执行执行vs准备好的命令行。
2. 多配置生成器
如果需要动态切换 Debug/Release(无需分开目录),可使用多配置生成器(如 Visual Studio)
cmake -G "Visual Studio 17 2022" ..
cmake --build . --config Debug # 编译 Debug
cmake --build . --config Release # 编译 Release
这种方式下,同一目录支持多种配置,适用于 IDE(如 Visual Studio)或命令行动态选择。