【cmake】单配置生成器与多配置生成器的构建安装问题分析
cmake的单配置与多配置环境:cmake选择的生成器有二种,单配置生成器 如:gcc,多配置生成器如msvc
对于单配置生成器,在执行cmake 配置生成命令时,通过CMAKE_BUILD_TYPE的值来判断
【cmake配置生成命令不同,cmake构建/安装命令相同,即debug/release在配置生成命令时指定】;
并且无论构建的是debug版还是Release版都构建在同一目录下
对于多配置生成器,在执行cmake构建命令时【cmake配置生成命令相同,构建/安装命令不同】,通过–config 参数指定【msvc没指定默认构建debug版】,并且系统自动把生成文件输出在指定的输出目录的带debug和Release的路径下,即debug版和Release版不在同一目录下;=>如果后续执行cmake --instal 命令 会自动在查找Release目录下的文件进行安装;【所以如果构建的是debug版而默认安装走的是Release版就会报错】,所以安装时 也可以指定 --config Debug/Release参数指定安装那个版本的文件
注:只要多配置生成器在指定的生成输出目录下,才会自动添加debug和Release路径;【只在生成输出文件时自动添加debug/release区分】
而在安装时,根据指定的安装前缀路径CMAKE_INSTALL_PREFIX 路径,无论是安装debug或者Release版本都会直接安装到指定路径下=>安装时不会自动加debug/Release路径区分