如何在CMake生成项目时插入自定义XML行禁用VS升级提示
CMake插入VS项目禁用升级提示配置的方法
CMake原生支持向VS项目的全局配置段注入自定义属性,通过内置的VS全局属性相关接口即可实现,无需手动修改生成后的项目文件,且可以通过条件判断不影响Unix平台的正常生成。
1. 仅对指定目标生效
在目标定义语句(add_executable/add_library等)之后添加如下配置即可:
if(MSVC) set_target_properties(替换为你的实际目标名 PROPERTIES VS_GLOBAL_VCProjectUpgraderObjectName "NoUpgrade" ) endif()
2. 对当前项目所有目标全局生效
在最顶层CMakeLists.txt的project指令之前添加如下配置:
if(CMAKE_GENERATOR MATCHES "Visual Studio") set(CMAKE_VS_GLOBALS "VCProjectUpgraderObjectName=NoUpgrade" ) endif()
该配置会自动应用到后续定义的所有VS项目目标上,CMAKE_VS_GLOBALS变量需要CMake 3.18及以上版本支持,低版本CMake可以给每个目标单独设置属性即可。
配置完成后重新生成项目,打开生成的.vcxproj文件即可看到<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>已经自动插入到项目全局配置段,启动VS时不会再弹出升级提示。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

