visual_logo MSBuild (Visual Studio)

Warning

This is a deprecated feature. Please refer to the Migration Guidelines to find the feature that replaced this one.

The new, under development Using the conan.tools.microsoft tools: MSBuildDeps, MSBuildToolchain and MSBuild helpers to generate properties files for your project, containing information about the project dependencies and toolchain. Go to conan.tools.microsoft for more information. While they are recommended and usable and we will try not to break them in future releases, some breaking changes might still happen if necessary to prepare for the Conan 2.0 release.

If you are using CMake to generate your Visual Studio projects, this is not the right section, go to CMake instead. This section is about native integration with Microsoft MSBuild, using properties files.

Conan can be integrated with MSBuild natively, the build system of Visual Studio by:

  • Using the visual_studio or visual_studio_multi generators to create a MSBuild properties conanbuildinfo.props file.

With visual_studio generator

Use the visual_studio generator, or visual_studio_multi, if you are maintaining your Visual Studio projects, and want to use Conan to to tell Visual Studio how to find your third-party dependencies.

You can use the visual_studio generator to manage your requirements via your Visual Studio project.

This generator creates a Visual Studio project properties file, with all the include paths, lib paths, libs, flags etc., that can be imported in your project.

Open conanfile.txt and change (or add) the visual_studio generator:

[requires]
poco/1.9.4

[generators]
visual_studio

Install the requirements:

$ conan install .

Go to your Visual Studio project, and open the Property Manager (usually in View -> Other Windows -> Property Manager).

../../_images/conan-property_manager.png

Click the + icon and select the generated conanbuildinfo.props file:

../../_images/conan-property_manager2.png

Build your project as usual.

Note

Remember to set your project’s architecture and build type accordingly, explicitly or implicitly, when issuing the conan install command. If these values don’t match, your build will probably fail.

e.g. Release/x64

See also

Check visual_studio for the complete reference.

Build an existing Visual Studio project

You can build an existing Visual Studio from your build() method using the MSBuild() build helper.

from conans import ConanFile, MSBuild

class ExampleConan(ConanFile):
    ...

    def build(self):
        msbuild = MSBuild(self)
        msbuild.build("MyProject.sln")

Toolsets

You can use the sub-setting toolset of the Visual Studio compiler to specify a custom toolset. It will be automatically applied when using the CMake() and MSBuild() build helpers. The toolset can also be specified manually in these build helpers with the toolset parameter.

By default, Conan will not generate a new binary package if the specified compiler.toolset matches an already generated package for the corresponding compiler.version. Check the package_id() reference to learn more.

See also

Check the CMake() reference section for more info.