VCVars

生成一个名为 conanvcvars.bat 的文件,该文件通过包装 Microsoft 的 vcvarsall bash 脚本来激活符合当前设置的 Visual Studio 开发人员命令提示符。

VCVars 生成器可以在 conanfiles 中按名称使用

conanfile.py
class Pkg(ConanFile):
    generators = "VCVars"
conanfile.txt
[generators]
VCVars

它也可以在 conanfile 的 generate() 方法中完全实例化

conanfile.py
from conan import ConanFile
from conan.tools.microsoft import VCVars

class Pkg(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    requires = "zlib/1.3.1", "bzip2/1.0.8"

    def generate(self):
        ms = VCVars(self)
        ms.generate()

自定义

conf

VCVars 受这些 [conf] 变量的影响

  • tools.microsoft.msbuild:installation_path 指示 Visual Studio 安装文件夹的路径。例如: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community, C:\Program Files (x86)\Microsoft Visual Studio 14.0 等。

  • tools.microsoft:winsdk_version 定义了 vcvars 命令行中特定的 winsdk 版本。

  • tools.env.virtualenv:powershell 生成一个额外的 conanvcvars.ps1 文件,以便可以从 Powershell 控制台运行它。

参考

class VCVars(conanfile)

VCVars 类生成器,用于生成一个 conanvcvars.bat 脚本,该脚本会激活正确的 Visual Studio 提示符。

当认为有必要时,其他生成器(例如 CMakeToolchain)会自动调用此生成器,例如,当使用 Visual Studio 编译器通过 CMake 的 Ninja 生成器进行构建时,这需要一个活动的 Visual Studio 提示符。因此,在大多数情况下,无需显式实例化此生成器。

参数:

conanfileConanFile 对象 当前配方对象。始终使用 self

generate(scope='build')

创建一个 conanvcvars.bat 文件,该文件调用 Visual vcvars,并附带必要的参数以激活与 Conan 设置匹配的正确 Visual Studio 提示符。

参数:

scopestr 激活范围,默认为“build”。这意味着它将从聚合的通用 conanbuild.bat 添加对此 conanvcvars.bat 的调用。conanbuild.bat 是默认被 self.run() 调用以及 CMake configure()build() 等构建助手调用的脚本。