有没有办法在 CMake 命令行参数或 conanfile.py 中指定 VCToolsVersion?
Posted
技术标签:
【中文标题】有没有办法在 CMake 命令行参数或 conanfile.py 中指定 VCToolsVersion?【英文标题】:Is there a way to specify VCToolsVersion in CMake command line arguments or conanfile.py? 【发布时间】:2021-12-17 21:52:11 【问题描述】:我正在尝试创建一些公司代码的柯南包。代码位于 gitlab 存储库中,我无法修改它。我想为我的柯南包指定VCToolsVersion
。最简单的方法是将 CMakeSettings.json
文件放入 repo 并将这些行放入其中。
"environments": [
"VCToolsVersion": "14.24"
]
但由于我无法修改 repo,我必须在我的 conanfile.py
中提供 VCToolsVersion
。我在conanfile.py
中有如下构建方法。
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
有没有办法可以在configure()
方法的参数中指定VCToolsVersion
?
cmake.configure(args="-Dvcvars_ver=14.24")
【问题讨论】:
你的意思是工具集版本吗? CMake 构建助手在其构造函数中接受工具集版本:docs.conan.io/en/latest/reference/build_helpers/… @uilianries 谢谢,我在toolset
参数中发现我做错了什么。
【参考方案1】:
感谢@uilianries,我找到了如何指定 MSVC 版本。
def build(self):
cmake = CMake(self, toolset="v142,version=14.24")
cmake.configure()
cmake.build()
【讨论】:
以上是关于有没有办法在 CMake 命令行参数或 conanfile.py 中指定 VCToolsVersion?的主要内容,如果未能解决你的问题,请参考以下文章
CMAKE_CXX_COMPILER 未在 qtcreator 中设置
Windows + VS2019 + CMake + CLion + Conan:如何启用C++20?