gpt4 book ai didi

c++ - 在命令行或从 CMake 指定用于 Visual Studio 代码分析的规则集

转载 作者:可可西里 更新时间:2023-11-01 17:54:32 31 4
gpt4 key购买 nike

我正在尝试为我的 CMake 驱动项目启用代码分析。我生成 Visual Studio 2013 解决方案,并希望使用特定规则集启用代码分析。我知道我可以通过在我的 CMake 文件中指定 add_definitions("/analyze") 来启用代码分析,但是我如何控制使用哪个规则集?

据我所知,控制所用规则集的唯一方法是通过项目文件中的 xml 元素 CodeAnalysisRuleSet,但我无法从 CMake 访问它。

最佳答案

如果您尝试通过命令行构建解决此问题——通过 cmake --build 或直接调用 msbuild——而不是在使用生成的使用 Visual Studio 解决方案,您可以在调用构建时设置相关属性。

使用 cmake 驱动构建:

PS c:\build-dir> cmake --build . -- '/p:RunCodeAnalysis=true' `
'/p:CodeAnalysisRuleSet=NativeRecommendedRules.ruleset'

使用 MSBuild 驱动构建:

PS c:\build-dir> msbuild ALL_BUILD.vcxproj '/p:RunCodeAnalysis=true' `
'/p:CodeAnalysisRuleSet=NativeRecommendedRules'

如果您在自定义目录中有自定义规则集,您还需要设置属性 CodeAnalysisRuleSetDirectories:

PS c:\build-dir> cmake --build . -- '/p:RunCodeAnalysis=true' `
'/p:CodeAnalysisRuleSet=custom.ruleset' `
'/p:CodeAnalysisRuleSetDirectories=c:\src\ruletsets'

(使用 CMake 3.8.0、MSBuild 15.3.409.57025 和 Visual C++ 2017 19.11.25506 进行测试。)

关于c++ - 在命令行或从 CMake 指定用于 Visual Studio 代码分析的规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410651/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com