如何禁用Visual Studio的CMake集成,避免自动生成out目录?
解决方案
最优方案:添加仓库级VS全局配置,全局禁用CMake自动检测
这个方案不需要修改本地VS设置,也不需要逐个调整项目配置,所有拉取仓库的成员都会自动生效,同时保留CMakeLists.txt在项目中可正常编辑:
- 在解决方案所在的根目录新建名为
Directory.Build.props的文件 - 文件写入以下内容:
<Project> <PropertyGroup> <!-- 禁用当前仓库内的CMake自动扫描集成 --> <EnableCMakeIntegration>false</EnableCMakeIntegration> </PropertyGroup> </Project>
- 将该文件提交到Git仓库即可,后续打开解决方案时VS不会再扫描识别CMakeLists.txt,也不会生成多余的
out目录。
替代方案:修改CMakeLists.txt的项目属性
如果只需要部分项目禁用CMake检测,可按以下操作:
- 在解决方案资源管理器中右键选中对应项目下的
CMakeLists.txt文件,选择「属性」 - 在「常规」选项卡中将「项类型」修改为「不参与生成」,同时勾选「从生成中排除」
- 保存修改后提交项目文件(.vcxproj/.csproj)即可,配置会随仓库同步,不会触发CMake自动检测。
不推荐的操作
- 不要直接移除
CMakeLists.txt:会破坏你原有在VS中编辑Linux构建配置的需求 - 不要仅修改本地VS的CMake设置:新安装的VS、新成员拉取仓库还是会复现问题
内容的提问来源于stack exchange,提问作者C.M.
相关产品推荐
相关产品推荐

