VCVars

Generates a file called conanvcvars.bat that activates the Visual Studio developer command prompt according to the current settings by wrapping the vcvarsall Microsoft bash script.

The VCVars generator can be used by name in conanfiles:

conanfile.py

  1. class Pkg(ConanFile):
  2. generators = "VCVars"

conanfile.txt

  1. [generators]
  2. VCVars

And it can also be fully instantiated in the conanfile generate() method:

conanfile.py

  1. from conan import ConanFile
  2. from conan.tools.microsoft import VCVars
  3. class Pkg(ConanFile):
  4. settings = "os", "compiler", "arch", "build_type"
  5. requires = "zlib/1.2.11", "bzip2/1.0.8"
  6. def generate(self):
  7. ms = VCVars(self)
  8. ms.generate()

Customization

conf

VCVars is affected by these [conf] variables:

  • tools.microsoft.msbuild:installation_path indicates the path to Visual Studio installation folder. For instance: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community, C:\Program Files (x86)\Microsoft Visual Studio 14.0, etc.

  • tools.microsoft:winsdk_version defines the specific winsdk version in the vcvars command line.

  • tools.env.virtualenv:powershell generates an additional conanvcvars.ps1 so it can be run from the Powershell console.

Reference

class VCVars(conanfile)

VCVars class generator

  • Parameters:

    conanfile< ConanFile object > The current recipe object. Always use self.

  • generate(scope=’build’)

    Creates a conanvcvars.bat file with the good args from settings to set environment variables to configure the command line for native 32-bit or 64-bit compilation.

    • Parameters:

      scopestr Launcher to be used to run all the variables. For instance, if build, then it’ll be used the conanbuild launcher.